1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-07 18:04:07 +02:00

Compare commits

..

41 Commits

Author SHA1 Message Date
Maxim Cournoyer 5a5d55b7cd Add baleine's PGP key.
Change-Id: I4fd2d3ba3e340718e38d213da44364e7c178881f
2026-04-27 09:16:44 +09:00
Tobias Geerinckx-Rice 0f4c1ed1a7 Add key for Nguyễn Gia Phong.
* cnx-F3F6B767.key: New file.

Voucher: Andreas Enge <andreas@enge.fr>
Voucher: Liliana Marie Prikler <liliana.prikler@gmail.com>
Voucher: Sharlatan (Oleg) Hellseher <sharlatanus@gmail.com>
Change-Id: Ib0ca113e5f7be924d94ca71910354f00bd436b0f
2026-03-29 01:00:00 +01:00
Tobias Geerinckx-Rice cd60cd5bb9 Add key for Sören Tempel.
* nmeum-9C05755D.key: New file.

Voucher: Ludovic Courtès <ludo@gnu.org>
Voucher: Sharlatan Hellseher <sharlatanus@gmail.com>
Voucher: jgart <jgart@dismail.de>
Change-Id: I4e0ec08ec4ecce091aee5b5759943e02ae4d444d
2026-03-22 01:00:00 +01:00
Maxim Cournoyer f8be2117b1 Add fishinthecalculator's PGP key.
Change-Id: Ie410e8ea9ebfbb03675d231d118724ea98f04f21
2026-01-23 11:30:34 +09:00
Hartmut Goebel 6550a260db Add htgoebel's new key.
* htgoebel-D3F631DF.key: Rename to ...
* htgoebel (old)-D3F631DF.key: ... this.
* htgoebel-3A1F9D20.key: New file.

Change-Id: I9c25a42f8cef0fbfa623536b4bd24d52305aa12c
2026-01-02 15:24:10 +01:00
Andreas Enge 5c72b7cc0a Rename key file.
The .gpg suffix is not recognized by the authentication code.

* Rutherther-69E471C3.gpg: Rename to...
* Rutherther-69E471C3.key: ...this.

Change-Id: I529c0c07398d410261bcc9fd3059f5b8fbbc88c4
2025-12-11 12:07:07 +01:00
Tobias Geerinckx-Rice b6472ce4ed Add key for Rutherther.
* Rutherther-69E471C3.gpg: New file.

Voucher: Ludovic Courtès <ludo@gnu.org>
Voucher: Efraim Flashner <efraim@flashner.co.il>
Voucher: John Kehayias <john@guixotic.coop>
Change-Id: I99f8f93190c26d891ceb1b9b6c6ab6e6012f0263
2025-12-07 01:00:00 +01:00
Maxim Cournoyer 12db45a481 Add csantosb's PGP key.
Change-Id: I9778c865be1e90e741da6c4210602cb0b55580b2
2025-11-26 10:15:15 +09:00
Maxim Cournoyer 4c11a3e33a Add Sugosha (SameExpert)'s PGP key.
Voucher: Z572 <z572@z572.online>
Voucher: Ludovic Courtès <ludo@gnu.org>
Voucher: Gabriel Wicki <gabriel@erlikon.ch>
Change-Id: I3b491b5a7193603f720552e0f76d014d19ad0058
2025-09-23 22:34:30 +09:00
Maxim Cournoyer 41a4b1e49a Add key for Gabriel Wicki.
* gabber-4330FD7F.key: New key.

Change-Id: I20bb31cce0d6a87162babf76e40aabfa88db03fd
Voucher: Andreas Enge <andreas@enge.fr>
Voucher: Steve George <steve@futurile.net>
Voucher: Leo Famulari <leo@famulari.name>
2025-07-20 10:37:20 +09:00
Maxim Cournoyer 0869e2220d Add key for Steve George.
* futurile-89CA9B07.key: New key.

Change-Id: I69d2fe98756335b27f3d3502b1eaf69ab746d178
2025-02-12 20:54:58 +09:00
Tobias Geerinckx-Rice 21173006e4 Add key for Greg Hogan.
* oom-13CFEEF3.key: New file.

Change-Id: I1a17f155a6d307542212ef606771363bf1e6f9ca
2024-12-22 01:00:00 +01:00
Tobias Geerinckx-Rice 358d959e84 Add key for Ian Eure.
* ieure-F1A71CF2.key: New file.

Change-Id: I5940be870eed715723ec2efd20091548cce7dc47
2024-12-22 01:00:00 +01:00
Efraim Flashner f8868dd56b Add key for Ekaitz Zarraga.
* ekaitz-3F7356D6.key: New file.

Change-Id: I303afcdb49003698daa7e15642b3af617a998e9e
2024-11-26 13:52:07 +02:00
Sharlatan Hellseher 1d5caad391 Rename key for Artyom V. Poptsov.
* avp-0898A02F.gpg: Rename to avp-0898A02F.key.

Change-Id: Idbf6963befc7a02088280597b12a60fc8b01c9de
2024-10-12 21:35:40 +01:00
Tobias Geerinckx-Rice 15d0fd16f3 Add key for Artyom V. Poptsov.
* avp-0898A02F.gpg: New file.

Change-Id: Ie366a45b4d3986e8402222c0e20e5051e819f5ed
2024-09-08 02:00:00 +02:00
Maxim Cournoyer fbccd14b5b Add the key of Zheng Junjie (z572).
Change-Id: If25b3c572fefd93fb9020fc587683cc0a62fd585
2024-04-20 12:58:08 -04:00
Maxim Cournoyer 1b6a6d6b24 Add the key of Oleg (sharlatanus).
Change-Id: Id34e1680c3c23fa42e11c95c0f919707003992d2
2024-01-09 23:03:18 -05:00
Leo Famulari 935e3c9e93 Add lfam's new key.
* lfam-BACA7F08.key: Rename to ...
* lfam (old)-BACA7F08.key: ... this
* lfam-757F47FF.key: New file.

Change-Id: If11df36d868cdc77830041ddcc7b9570e02db237
2023-07-23 22:26:01 -04:00
Tobias Geerinckx-Rice c3db650680 Add key for Hilton Chain. 2023-08-13 02:00:00 +02:00
Maxim Cournoyer c2b8584ac5 Add key for Jorge Gomez. 2023-05-15 21:26:15 -04:00
Maxim Cournoyer 6540a2551e Add key for Josselin Poiret. 2023-05-11 11:15:56 -04:00
Maxim Cournoyer 7206ab15bd Add key for Simon Tournier. 2023-05-11 10:24:45 -04:00
Tobias Geerinckx-Rice a6f53ad63a Add key for John Kehayias.
* podiki-5A7554F1.key: New file.
2022-12-04 01:00:00 +01:00
Efraim Flashner 2417be6861 Add key for Andrew Tropin.
* abcdw-6C328EC2.key: New file.
2022-08-05 18:26:45 +03:00
Maxim Cournoyer 3b84ecee59 Add key for Vinicius Monego.
* monego-8065B68A.key: New file.
2022-01-25 21:28:24 -05:00
Liliana Marie Prikler 702f4c7942 Remove leoprikler's redundant key.
This is a follow-up to 1802c75a3e.

* leoprikler-C70E2F87.key: Remove, since it's redundant with
'lilyp-C70E2F87.key'.
2021-09-06 11:32:40 +02:00
Liliana Marie Prikler 1802c75a3e Add key for lilyp.
* lilyp-C70E2F87.key: New file.
2021-09-06 11:29:13 +02:00
Ludovic Courtès 359ca34027 Remove bavier's redundant former key.
This is a followup to d1d2bf3eb6.

* bavier (old)-19D32566.key: Remove, since it's redundant with
'bavier-AFCA8B8E.key'.
2021-06-29 16:23:17 +02:00
Ludovic Courtès d1d2bf3eb6 Add bavier's new key.
* bavier-19D32566.key: Rename to...
* bavier (old)-19D32566.key: ... this.
* bavier-AFCA8B8E.key: New file.
2021-06-23 15:33:15 +02:00
Tobias Geerinckx-Rice 5838f4e354 Add key for raghavgururajan.
* raghavgururajan-7F8BE551.key: New file.
2021-04-11 16:02:27 +02:00
Leo Famulari 3da8e4a658 Add keys for lbraun.
* lbraun-08D8092A.key, lbraun (work)-1A378446.key: New files.
2021-03-08 13:05:30 -05:00
Tobias Geerinckx-Rice dcae73e0d4 Add key for lle_bout.
* lle_bout-6BCD10A6.key: New file.
2021-02-18 12:21:27 +01:00
Ludovic Courtès 65a3e80efc Add key for leoprikler.
* leoprikler-C70E2F87.key: New file.
2020-12-28 10:43:41 +01:00
Ludovic Courtès 62aebd90ca Add public key for magali.
* magali-6E2DFC90.key: New file.
2020-12-15 12:00:17 +01:00
Marius Bakke 93085078ad Add public key for jonsger.
* jonsger-8B4E4B9F.key: New file.
2020-11-15 23:02:50 +01:00
Ludovic Courtès 5530030442 Add public key for m1gu3l.
* m1gu3l-79FABEC2.key: New file.
2020-10-16 12:05:26 +02:00
Ludovic Courtès 3b73512763 Add public key for planglois.
* planglois-E00B77FD.key: New file.
2020-09-04 11:13:42 +02:00
Tobias Geerinckx-Rice ec32c8591e Add public key of brettgilio.
* brettgilio-BA27CB87.key: New file.
2020-07-18 20:55:05 +02:00
Ludovic Courtès edb380b705 Add public key of bricewge.
* bricewge-66A18FAE.key: New file.
2020-05-04 11:05:10 +02:00
Ludovic Courtès 1edfe6dd7b Add keyring. 2020-05-01 18:41:28 +02:00
3368 changed files with 26231 additions and 3143404 deletions
-8
View File
@@ -1,8 +0,0 @@
[codespell]
skip = guix/d3.v3.js, *.po, doc/*info, doc/*.de.*, doc/*.es.*, doc/*.fr.*, doc/*.it.*, doc/*.ko.*, doc/*.pt_BR.*, doc/*.ru.*, doc/*.sk.*, doc/*.sv.*, doc/*.zh_CN.*
ignore-words-list = crate, debbugs, deriver
write-changes = true
# ask for confirmation, ask to choose from a list
interactive = 3
# Number of lines to show before and after for context
context = 1
-682
View File
@@ -1,682 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013,2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2018-2020 Caleb Ristvedt <caleb.ristvedt@cune.org>
;;; Copyright © 2020-2023, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2020 Miguel Ángel Arruga Vivas <rosen644835@gmail.com>
;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2022 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2022 Brian Cully <bjc@kublai.com>
;;; Copyright © 2023 (unmatched-parenthesis <paren@disroot.org>
;;; Copyright © 2024 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2025 Hilton Chain <hako@ultrarare.space>
;;; 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/>.
;; Per-directory local variables for GNU Emacs 23 and later.
((nil
. ((fill-column . 78)
(tab-width . 8)
(sentence-end-double-space . t)
;; For use with 'bug-reference-prog-mode'. Extra bug-reference
;; configuration should be done in your Emacs user configuration file;
;; refer to (info (guix) The Perfect Setup).
(bug-reference-bug-regexp
. "\\(<https?://\\bugs\\.gnu\\.org/\\([0-9]+\\)>\\)")
(bug-reference-url-format . "https://issues.guix.gnu.org/%s")
(eval . (add-to-list 'completion-ignored-extensions ".go"))
;; Emacs-Guix
(eval . (setq-local guix-directory
(locate-dominating-file default-directory
".dir-locals.el")))
;; Magit
(eval . (with-eval-after-load 'git-commit
(add-to-list 'git-commit-trailers "Change-Id")))
;; TempEl
(eval . (with-eval-after-load
'tempel
(if (stringp tempel-path)
(setq tempel-path (list tempel-path)))
(let ((guix-tempel-snippets
(concat
(expand-file-name
"etc/snippets/tempel"
(locate-dominating-file default-directory
".dir-locals.el"))
"/*.eld")))
(unless (member guix-tempel-snippets tempel-path)
(add-to-list 'tempel-path guix-tempel-snippets)))))
;; YASnippet
(eval . (with-eval-after-load
'yasnippet
(let ((guix-yasnippets
(expand-file-name
"etc/snippets/yas"
(locate-dominating-file default-directory
".dir-locals.el"))))
(unless (member guix-yasnippets yas-snippet-dirs)
(add-to-list 'yas-snippet-dirs guix-yasnippets)
(yas-reload-all)))))
;; Geiser
;; This allows automatically setting the `geiser-guile-load-path'
;; variable when using various Guix checkouts (e.g., via git worktrees).
(geiser-repl-per-project-p . t)
(geiser-insert-actual-lambda . nil)))
(c-mode . ((c-file-style . "gnu")))
(emacs-lisp-mode . ((indent-tabs-mode . nil)))
(texinfo-mode . ((indent-tabs-mode . nil)
(fill-column . 72)))
(scheme-mode
.
((indent-tabs-mode . nil)
;; Emacs 28 changed the behavior of 'lisp-fill-paragraph', which causes the
;; first line of package descriptions to extrude past 'fill-column'. The
;; following variable reverts its behavior to the previous one.
(lisp-fill-paragraphs-as-doc-string nil)
;; This notably allows '(' in Paredit to not insert a space when the
;; preceding symbol is one of these.
(eval . (modify-syntax-entry ?~ "'"))
(eval . (modify-syntax-entry ?$ "'"))
(eval . (modify-syntax-entry ?+ "'"))
(eval . (put 'eval-when 'scheme-indent-function 1))
(eval . (put 'call-with-prompt 'scheme-indent-function 1))
(eval . (put 'test-assert 'scheme-indent-function 1))
(eval . (put 'test-assertm 'scheme-indent-function 1))
(eval . (put 'test-equalm 'scheme-indent-function 1))
(eval . (put 'test-equal 'scheme-indent-function 1))
(eval . (put 'test-eq 'scheme-indent-function 1))
(eval . (put 'call-with-input-string 'scheme-indent-function 1))
(eval . (put 'call-with-port 'scheme-indent-function 1))
(eval . (put 'guard 'scheme-indent-function 1))
(eval . (put 'lambda* 'scheme-indent-function 1))
(eval . (put 'peekable-lambda 'scheme-indent-function 1))
(eval . (put 'substitute* 'scheme-indent-function 1))
(eval . (put 'match-record 'scheme-indent-function 3))
(eval . (put 'match-record-lambda 'scheme-indent-function 2))
;; TODO: Contribute these to Emacs' scheme-mode.
(eval . (put 'let-keywords 'scheme-indent-function 3))
;; 'modify-inputs' and its keywords.
(eval . (put 'modify-inputs 'scheme-indent-function 1))
(eval . (put 'replace 'scheme-indent-function 1))
;; 'modify-phases' and its keywords.
(eval . (put 'modify-phases 'scheme-indent-function 1))
(eval . (put 'replace 'scheme-indent-function 1))
(eval . (put 'add-before 'scheme-indent-function 2))
(eval . (put 'add-after 'scheme-indent-function 2))
(eval . (put 'modify-services 'scheme-indent-function 1))
(eval . (put 'with-directory-excursion 'scheme-indent-function 1))
(eval . (put 'with-file-lock 'scheme-indent-function 1))
(eval . (put 'with-file-lock/no-wait 'scheme-indent-function 1))
(eval . (put 'with-profile-lock 'scheme-indent-function 1))
(eval . (put 'with-writable-file 'scheme-indent-function 2))
(eval . (put 'package/inherit 'scheme-indent-function 1))
(eval . (put 'substitute-keyword-arguments 'scheme-indent-function 1))
(eval . (put 'with-store 'scheme-indent-function 1))
(eval . (put 'with-store/non-blocking 'scheme-indent-function 1))
(eval . (put 'with-external-store 'scheme-indent-function 1))
(eval . (put 'with-error-handling 'scheme-indent-function 0))
(eval . (put 'with-mutex 'scheme-indent-function 1))
(eval . (put 'with-atomic-file-output 'scheme-indent-function 1))
(eval . (put 'call-with-compressed-output-port 'scheme-indent-function 2))
(eval . (put 'call-with-decompressed-port 'scheme-indent-function 2))
(eval . (put 'call-with-gzip-input-port 'scheme-indent-function 1))
(eval . (put 'call-with-gzip-output-port 'scheme-indent-function 1))
(eval . (put 'call-with-lzip-input-port 'scheme-indent-function 1))
(eval . (put 'call-with-lzip-output-port 'scheme-indent-function 1))
(eval . (put 'signature-case 'scheme-indent-function 1))
(eval . (put 'emacs-batch-eval 'scheme-indent-function 0))
(eval . (put 'emacs-batch-edit-file 'scheme-indent-function 1))
(eval . (put 'emacs-substitute-sexps 'scheme-indent-function 1))
(eval . (put 'emacs-substitute-variables 'scheme-indent-function 1))
(eval . (put 'with-derivation-narinfo 'scheme-indent-function 1))
(eval . (put 'with-derivation-substitute 'scheme-indent-function 2))
(eval . (put 'with-status-report 'scheme-indent-function 1))
(eval . (put 'with-status-verbosity 'scheme-indent-function 1))
(eval . (put 'with-build-handler 'scheme-indent-function 1))
(eval . (put 'mlambda 'scheme-indent-function 1))
(eval . (put 'mlambdaq 'scheme-indent-function 1))
(eval . (put 'syntax-parameterize 'scheme-indent-function 1))
(eval . (put 'with-monad 'scheme-indent-function 1))
(eval . (put 'mbegin 'scheme-indent-function 1))
(eval . (put 'mwhen 'scheme-indent-function 1))
(eval . (put 'munless 'scheme-indent-function 1))
(eval . (put 'mlet* 'scheme-indent-function 2))
(eval . (put 'mlet 'scheme-indent-function 2))
(eval . (put 'state-parameterize 'scheme-indent-function 2))
(eval . (put 'store-parameterize 'scheme-indent-function 2))
(eval . (put 'run-with-store 'scheme-indent-function 1))
(eval . (put 'run-with-state 'scheme-indent-function 1))
(eval . (put 'wrap-program 'scheme-indent-function 1))
(eval . (put 'wrap-script 'scheme-indent-function 1))
(eval . (put 'with-imported-modules 'scheme-indent-function 1))
(eval . (put 'with-extensions 'scheme-indent-function 1))
(eval . (put 'with-parameters 'scheme-indent-function 1))
(eval . (put 'let-system 'scheme-indent-function 1))
(eval . (put 'with-build-variables 'scheme-indent-function 2))
(eval . (put 'with-database 'scheme-indent-function 2))
(eval . (put 'call-with-database 'scheme-indent-function 1))
(eval . (put 'call-with-transaction 'scheme-indent-function 1))
(eval . (put 'call-with-retrying-transaction 'scheme-indent-function 1))
(eval . (put 'call-with-container 'scheme-indent-function 1))
(eval . (put 'container-excursion 'scheme-indent-function 1))
(eval . (put 'eventually 'scheme-indent-function 1))
(eval . (put 'call-with-progress-reporter 'scheme-indent-function 1))
(eval . (put 'with-repository 'scheme-indent-function 2))
(eval . (put 'with-temporary-git-repository 'scheme-indent-function 2))
(eval . (put 'with-served-git-repository 'scheme-indent-function 2))
(eval . (put 'with-environment-variables 'scheme-indent-function 1))
(eval . (put 'with-fresh-gnupg-setup 'scheme-indent-function 1))
(eval . (put 'with-paginated-output-port 'scheme-indent-function 1))
(eval . (put 'with-shepherd-action 'scheme-indent-function 3))
(eval . (put 'with-http-server 'scheme-indent-function 1))
;; Record constructors.
;; URIs for origin methods.
(eval . (put 'android-repo-reference 'scheme-indent-function 0))
(eval . (put 'bzr-reference 'scheme-indent-function 0))
(eval . (put 'cvs-reference 'scheme-indent-function 0))
(eval . (put 'git-checkout 'scheme-indent-function 0))
(eval . (put 'git-reference 'scheme-indent-function 0))
(eval . (put 'hg-reference 'scheme-indent-function 0))
(eval . (put 'svn-multi-reference 'scheme-indent-function 0))
(eval . (put 'svn-reference 'scheme-indent-function 0))
;; guix/
(eval . (put 'avahi-service 'scheme-indent-function 0))
(eval . (put 'bag 'scheme-indent-function 0))
(eval . (put 'build-status 'scheme-indent-function 0))
(eval . (put 'build-system 'scheme-indent-function 0))
(eval . (put 'channel 'scheme-indent-function 0))
(eval . (put 'gnu-package-descriptor 'scheme-indent-function 0))
(eval . (put 'graft 'scheme-indent-function 0))
(eval . (put 'lint-checker 'scheme-indent-function 0))
(eval . (put 'lint-warning 'scheme-indent-function 0))
(eval . (put 'manifest-entry 'scheme-indent-function 0))
(eval . (put 'manifest-pattern 'scheme-indent-function 0))
(eval . (put 'manifest-transaction 'scheme-indent-function 0))
(eval . (put 'node-type 'scheme-indent-function 0))
(eval . (put 'origin 'scheme-indent-function 0))
(eval . (put 'package 'scheme-indent-function 0))
(eval . (put 'platform 'scheme-indent-function 0))
(eval . (put 'profile 'scheme-indent-function 0))
(eval . (put 'progress-reporter 'scheme-indent-function 0))
(eval . (put 'search-path-specification 'scheme-indent-function 0))
(eval . (put 'upstream-input 'scheme-indent-function 0))
(eval . (put 'upstream-source 'scheme-indent-function 0))
(eval . (put 'upstream-updater 'scheme-indent-function 0))
;; gnu/
(eval . (put 'bootloader 'scheme-indent-function 0))
(eval . (put 'bootloader-configuration 'scheme-indent-function 0))
(eval . (put 'image 'scheme-indent-function 0))
(eval . (put 'image-type 'scheme-indent-function 0))
(eval . (put 'menu-entry 'scheme-indent-function 0))
(eval . (put 'partition 'scheme-indent-function 0))
;; gnu/machine
(eval . (put 'digital-ocean-configuration 'scheme-indent-function 0))
(eval . (put 'environment-type 'scheme-indent-function 0))
(eval . (put 'hetzner-configuration 'scheme-indent-function 0))
(eval . (put 'machine 'scheme-indent-function 0))
(eval . (put 'machine-ssh-configuration 'scheme-indent-function 0))
;; gnu/system
(eval . (put 'boot-parameters 'scheme-indent-function 0))
(eval . (put 'file-system 'scheme-indent-function 0))
(eval . (put 'file-system-mapping 'scheme-indent-function 0))
(eval . (put 'locale-definition 'scheme-indent-function 0))
(eval . (put 'mapped-device 'scheme-indent-function 0))
(eval . (put 'mapped-device-kind 'scheme-indent-function 0))
(eval . (put 'name-service 'scheme-indent-function 0))
(eval . (put 'name-service-switch 'scheme-indent-function 0))
(eval . (put 'operating-system 'scheme-indent-function 0))
(eval . (put 'pam-configuration 'scheme-indent-function 0))
(eval . (put 'pam-entry 'scheme-indent-function 0))
(eval . (put 'pam-extension 'scheme-indent-function 0))
(eval . (put 'pam-service 'scheme-indent-function 0))
(eval . (put 'privileged-program 'scheme-indent-function 0))
(eval . (put 'subid-range 'scheme-indent-function 0))
(eval . (put 'subids-configuration 'scheme-indent-function 0))
(eval . (put 'subids-extension 'scheme-indent-function 0))
(eval . (put 'swap-space 'scheme-indent-function 0))
(eval . (put 'user-account 'scheme-indent-function 0))
(eval . (put 'user-group 'scheme-indent-function 0))
(eval . (put 'virtual-machine 'scheme-indent-function 0))
;; gnu/home
(eval . (put 'home-bash-configuration 'scheme-indent-function 0))
(eval . (put 'home-bash-extension 'scheme-indent-function 0))
(eval . (put 'home-batsignal-configuration 'scheme-indent-function 0))
(eval . (put 'home-beets-configuration 'scheme-indent-function 0))
(eval . (put 'home-dbus-configuration 'scheme-indent-function 0))
(eval . (put 'home-dotfiles-configuration 'scheme-indent-function 0))
(eval . (put 'home-environment 'scheme-indent-function 0))
(eval . (put 'home-fish-configuration 'scheme-indent-function 0))
(eval . (put 'home-fish-extension 'scheme-indent-function 0))
(eval . (put 'home-gpg-agent-configuration 'scheme-indent-function 0))
(eval . (put 'home-inputrc-configuration 'scheme-indent-function 0))
(eval . (put 'home-kodi-configuration 'scheme-indent-function 0))
(eval . (put 'home-mcron-configuration 'scheme-indent-function 0))
(eval . (put 'home-msmtp-configuration 'scheme-indent-function 0))
(eval . (put 'home-openssh-configuration 'scheme-indent-function 0))
(eval . (put 'home-parcimonie-configuration 'scheme-indent-function 0))
(eval . (put 'home-pipewire-configuration 'scheme-indent-function 0))
(eval . (put 'home-redshift-configuration 'scheme-indent-function 0))
(eval . (put 'home-shell-profile-configuration 'scheme-indent-function 0))
(eval . (put 'home-shepherd-configuration 'scheme-indent-function 0))
(eval . (put 'home-ssh-agent-configuration 'scheme-indent-function 0))
(eval . (put 'home-unclutter-configuration 'scheme-indent-function 0))
(eval . (put 'home-xdg-base-directories-configuration 'scheme-indent-function 0))
(eval . (put 'home-xdg-mime-applications-configuration 'scheme-indent-function 0))
(eval . (put 'home-xdg-user-directories-configuration 'scheme-indent-function 0))
(eval . (put 'home-xmodmap-configuration 'scheme-indent-function 0))
(eval . (put 'home-znc-configuration 'scheme-indent-function 0))
(eval . (put 'home-zsh-configuration 'scheme-indent-function 0))
(eval . (put 'home-zsh-extension 'scheme-indent-function 0))
(eval . (put 'msmtp-account 'scheme-indent-function 0))
(eval . (put 'msmtp-configuration 'scheme-indent-function 0))
(eval . (put 'openssh-host 'scheme-indent-function 0))
(eval . (put 'point 'scheme-indent-function 0))
(eval . (put 'proxy-jump 'scheme-indent-function 0))
(eval . (put 'sway-bar 'scheme-indent-function 0))
(eval . (put 'sway-border-color 'scheme-indent-function 0))
(eval . (put 'sway-color 'scheme-indent-function 0))
(eval . (put 'sway-configuration 'scheme-indent-function 0))
(eval . (put 'sway-input 'scheme-indent-function 0))
(eval . (put 'sway-mode 'scheme-indent-function 0))
(eval . (put 'sway-output 'scheme-indent-function 0))
(eval . (put 'xdg-desktop-action 'scheme-indent-function 0))
(eval . (put 'xdg-desktop-entry 'scheme-indent-function 0))
;; gnu/services
(eval . (put 'agate-configuration 'scheme-indent-function 0))
(eval . (put 'agetty-configuration 'scheme-indent-function 0))
(eval . (put 'alsa-configuration 'scheme-indent-function 0))
(eval . (put 'anonip-configuration 'scheme-indent-function 0))
(eval . (put 'apcupsd-configuration 'scheme-indent-function 0))
(eval . (put 'apcupsd-event-handlers 'scheme-indent-function 0))
(eval . (put 'auditd-configuration 'scheme-indent-function 0))
(eval . (put 'autossh-configuration 'scheme-indent-function 0))
(eval . (put 'avahi-configuration 'scheme-indent-function 0))
(eval . (put 'backend-userroot-configuration 'scheme-indent-function 0))
(eval . (put 'bffe-configuration 'scheme-indent-function 0))
(eval . (put 'bitlbee-configuration 'scheme-indent-function 0))
(eval . (put 'bluetooth-configuration 'scheme-indent-function 0))
(eval . (put 'cachefilesd-configuration 'scheme-indent-function 0))
(eval . (put 'certbot-configuration 'scheme-indent-function 0))
(eval . (put 'cgit-configuration 'scheme-indent-function 0))
(eval . (put 'configuration-field 'scheme-indent-function 0))
(eval . (put 'connman-configuration 'scheme-indent-function 0))
(eval . (put 'connman-general-configuration 'scheme-indent-function 0))
(eval . (put 'containerd-configuration 'scheme-indent-function 0))
(eval . (put 'cuirass-configuration 'scheme-indent-function 0))
(eval . (put 'cuirass-remote-server-configuration 'scheme-indent-function 0))
(eval . (put 'cuirass-remote-worker-configuration 'scheme-indent-function 0))
(eval . (put 'cups-configuration 'scheme-indent-function 0))
(eval . (put 'darkstat-configuration 'scheme-indent-function 0))
(eval . (put 'dbus-configuration 'scheme-indent-function 0))
(eval . (put 'dconf-keyfile 'scheme-indent-function 0))
(eval . (put 'dconf-profile 'scheme-indent-function 0))
(eval . (put 'debootstrap-configuration 'scheme-indent-function 0))
(eval . (put 'dhcp-client-configuration 'scheme-indent-function 0))
(eval . (put 'dhcpcd-configuration 'scheme-indent-function 0))
(eval . (put 'dhcpd-configuration 'scheme-indent-function 0))
(eval . (put 'dicod-configuration 'scheme-indent-function 0))
(eval . (put 'dict-configuration 'scheme-indent-function 0))
(eval . (put 'directory-server-instance-configuration 'scheme-indent-function 0))
(eval . (put 'dnsmasq-configuration 'scheme-indent-function 0))
(eval . (put 'docker-configuration 'scheme-indent-function 0))
(eval . (put 'dovecot-configuration 'scheme-indent-function 0))
(eval . (put 'dropbear-configuration 'scheme-indent-function 0))
(eval . (put 'earlyoom-configuration 'scheme-indent-function 0))
(eval . (put 'elogind-configuration 'scheme-indent-function 0))
(eval . (put 'enlightenment-desktop-configuration 'scheme-indent-function 0))
(eval . (put 'exim-configuration 'scheme-indent-function 0))
(eval . (put 'ext-component-configuration 'scheme-indent-function 0))
(eval . (put 'fail2ban-configuration 'scheme-indent-function 0))
(eval . (put 'fail2ban-ignore-cache-configuration 'scheme-indent-function 0))
(eval . (put 'fail2ban-jail-action-configuration 'scheme-indent-function 0))
(eval . (put 'fail2ban-jail-configuration 'scheme-indent-function 0))
(eval . (put 'fail2ban-jail-filter-configuration 'scheme-indent-function 0))
(eval . (put 'fcgiwrap-configuration 'scheme-indent-function 0))
(eval . (put 'fifo-listener-configuration 'scheme-indent-function 0))
(eval . (put 'file-database-configuration 'scheme-indent-function 0))
(eval . (put 'files-configuration 'scheme-indent-function 0))
(eval . (put 'fprintd-configuration 'scheme-indent-function 0))
(eval . (put 'fstrim-configuration 'scheme-indent-function 0))
(eval . (put 'ganeti-cleaner-configuration 'scheme-indent-function 0))
(eval . (put 'ganeti-confd-configuration 'scheme-indent-function 0))
(eval . (put 'ganeti-configuration 'scheme-indent-function 0))
(eval . (put 'ganeti-kvmd-configuration 'scheme-indent-function 0))
(eval . (put 'ganeti-luxid-configuration 'scheme-indent-function 0))
(eval . (put 'ganeti-metad-configuration 'scheme-indent-function 0))
(eval . (put 'ganeti-mond-configuration 'scheme-indent-function 0))
(eval . (put 'ganeti-noded-configuration 'scheme-indent-function 0))
(eval . (put 'ganeti-os 'scheme-indent-function 0))
(eval . (put 'ganeti-os-variant 'scheme-indent-function 0))
(eval . (put 'ganeti-rapi-configuration 'scheme-indent-function 0))
(eval . (put 'ganeti-watcher-configuration 'scheme-indent-function 0))
(eval . (put 'ganeti-wconfd-configuration 'scheme-indent-function 0))
(eval . (put 'gdm-configuration 'scheme-indent-function 0))
(eval . (put 'geoclue-configuration 'scheme-indent-function 0))
(eval . (put 'getmail-configuration 'scheme-indent-function 0))
(eval . (put 'getmail-configuration-file 'scheme-indent-function 0))
(eval . (put 'getmail-destination-configuration 'scheme-indent-function 0))
(eval . (put 'getmail-options-configuration 'scheme-indent-function 0))
(eval . (put 'getmail-retriever-configuration 'scheme-indent-function 0))
(eval . (put 'git-daemon-configuration 'scheme-indent-function 0))
(eval . (put 'git-http-configuration 'scheme-indent-function 0))
(eval . (put 'gitile-configuration 'scheme-indent-function 0))
(eval . (put 'gitolite-configuration 'scheme-indent-function 0))
(eval . (put 'gitolite-git-configuration 'scheme-indent-function 0))
(eval . (put 'gitolite-rc-file 'scheme-indent-function 0))
(eval . (put 'gmnisrv-configuration 'scheme-indent-function 0))
(eval . (put 'gnome-desktop-configuration 'scheme-indent-function 0))
(eval . (put 'gnome-keyring-configuration 'scheme-indent-function 0))
(eval . (put 'gpm-configuration 'scheme-indent-function 0))
(eval . (put 'greetd-agreety-session 'scheme-indent-function 0))
(eval . (put 'greetd-configuration 'scheme-indent-function 0))
(eval . (put 'greetd-gtkgreet-sway-session 'scheme-indent-function 0))
(eval . (put 'greetd-terminal-configuration 'scheme-indent-function 0))
(eval . (put 'greetd-user-session 'scheme-indent-function 0))
(eval . (put 'greetd-wlgreet-configuration 'scheme-indent-function 0))
(eval . (put 'greetd-wlgreet-session 'scheme-indent-function 0))
(eval . (put 'greetd-wlgreet-sway-session 'scheme-indent-function 0))
(eval . (put 'gss-configuration 'scheme-indent-function 0))
(eval . (put 'guix-build-coordinator-agent-configuration 'scheme-indent-function 0))
(eval . (put 'guix-build-coordinator-agent-dynamic-auth 'scheme-indent-function 0))
(eval . (put 'guix-build-coordinator-agent-dynamic-auth-with-file 'scheme-indent-function 0))
(eval . (put 'guix-build-coordinator-agent-password-auth 'scheme-indent-function 0))
(eval . (put 'guix-build-coordinator-agent-password-file-auth 'scheme-indent-function 0))
(eval . (put 'guix-build-coordinator-configuration 'scheme-indent-function 0))
(eval . (put 'guix-configuration 'scheme-indent-function 0))
(eval . (put 'guix-data-service-configuration 'scheme-indent-function 0))
(eval . (put 'guix-extension 'scheme-indent-function 0))
(eval . (put 'guix-publish-configuration 'scheme-indent-function 0))
(eval . (put 'gvfs-configuration 'scheme-indent-function 0))
(eval . (put 'host 'scheme-indent-function 0))
(eval . (put 'hostapd-configuration 'scheme-indent-function 0))
(eval . (put 'hpcguix-web-configuration 'scheme-indent-function 0))
(eval . (put 'httpd-config-file 'scheme-indent-function 0))
(eval . (put 'httpd-configuration 'scheme-indent-function 0))
(eval . (put 'httpd-module 'scheme-indent-function 0))
(eval . (put 'httpd-virtualhost 'scheme-indent-function 0))
(eval . (put 'hurd-console-configuration 'scheme-indent-function 0))
(eval . (put 'hurd-getty-configuration 'scheme-indent-function 0))
(eval . (put 'hurd-vm-configuration 'scheme-indent-function 0))
(eval . (put 'idmap-configuration 'scheme-indent-function 0))
(eval . (put 'imap4d-configuration 'scheme-indent-function 0))
(eval . (put 'inet-listener-configuration 'scheme-indent-function 0))
(eval . (put 'inetd-configuration 'scheme-indent-function 0))
(eval . (put 'inetd-entry 'scheme-indent-function 0))
(eval . (put 'inputattach-configuration 'scheme-indent-function 0))
(eval . (put 'int-component-configuration 'scheme-indent-function 0))
(eval . (put 'ipfs-configuration 'scheme-indent-function 0))
(eval . (put 'iptables-configuration 'scheme-indent-function 0))
(eval . (put 'iwd-configuration 'scheme-indent-function 0))
(eval . (put 'iwd-general-settings 'scheme-indent-function 0))
(eval . (put 'iwd-network-settings 'scheme-indent-function 0))
(eval . (put 'iwd-scan-settings 'scheme-indent-function 0))
(eval . (put 'iwd-settings 'scheme-indent-function 0))
(eval . (put 'jami-account 'scheme-indent-function 0))
(eval . (put 'jami-configuration 'scheme-indent-function 0))
(eval . (put 'joycond-configuration 'scheme-indent-function 0))
(eval . (put 'keepalived-configuration 'scheme-indent-function 0))
(eval . (put 'kmscon-configuration 'scheme-indent-function 0))
(eval . (put 'knot-acl-configuration 'scheme-indent-function 0))
(eval . (put 'knot-configuration 'scheme-indent-function 0))
(eval . (put 'knot-key-configuration 'scheme-indent-function 0))
(eval . (put 'knot-keystore-configuration 'scheme-indent-function 0))
(eval . (put 'knot-policy-configuration 'scheme-indent-function 0))
(eval . (put 'knot-remote-configuration 'scheme-indent-function 0))
(eval . (put 'knot-resolver-configuration 'scheme-indent-function 0))
(eval . (put 'knot-zone-configuration 'scheme-indent-function 0))
(eval . (put 'krb5-configuration 'scheme-indent-function 0))
(eval . (put 'krb5-realm 'scheme-indent-function 0))
(eval . (put 'kwallet-configuration 'scheme-indent-function 0))
(eval . (put 'ladspa-configuration 'scheme-indent-function 0))
(eval . (put 'laminar-configuration 'scheme-indent-function 0))
(eval . (put 'libvirt-configuration 'scheme-indent-function 0))
(eval . (put 'lightdm-configuration 'scheme-indent-function 0))
(eval . (put 'lightdm-gtk-greeter-configuration 'scheme-indent-function 0))
(eval . (put 'lightdm-seat-configuration 'scheme-indent-function 0))
(eval . (put 'linux-builder-configuration 'scheme-indent-function 0))
(eval . (put 'lirc-configuration 'scheme-indent-function 0))
(eval . (put 'live-service 'scheme-indent-function 0))
(eval . (put 'localed-configuration 'scheme-indent-function 0))
(eval . (put 'location-access-control 'scheme-indent-function 0))
(eval . (put 'log-cleanup-configuration 'scheme-indent-function 0))
(eval . (put 'log-rotation 'scheme-indent-function 0))
(eval . (put 'log-rotation-configuration 'scheme-indent-function 0))
(eval . (put 'login-configuration 'scheme-indent-function 0))
(eval . (put 'lsh-configuration 'scheme-indent-function 0))
(eval . (put 'lxqt-desktop-configuration 'scheme-indent-function 0))
(eval . (put 'mailbox-configuration 'scheme-indent-function 0))
(eval . (put 'mate-desktop-configuration 'scheme-indent-function 0))
(eval . (put 'mcron-configuration 'scheme-indent-function 0))
(eval . (put 'memcached-configuration 'scheme-indent-function 0))
(eval . (put 'method-access-control 'scheme-indent-function 0))
(eval . (put 'mingetty-configuration 'scheme-indent-function 0))
(eval . (put 'mod-muc-configuration 'scheme-indent-function 0))
(eval . (put 'modem-manager-configuration 'scheme-indent-function 0))
(eval . (put 'mosquitto-configuration 'scheme-indent-function 0))
(eval . (put 'mpd-configuration 'scheme-indent-function 0))
(eval . (put 'mpd-output 'scheme-indent-function 0))
(eval . (put 'mpd-partition 'scheme-indent-function 0))
(eval . (put 'mpd-plugin 'scheme-indent-function 0))
(eval . (put 'mumble-server-configuration 'scheme-indent-function 0))
(eval . (put 'mumble-server-public-registration-configuration 'scheme-indent-function 0))
(eval . (put 'mumi-configuration 'scheme-indent-function 0))
(eval . (put 'mumi-package-configuration 'scheme-indent-function 0))
(eval . (put 'mympd-configuration 'scheme-indent-function 0))
(eval . (put 'mympd-ip-acl 'scheme-indent-function 0))
(eval . (put 'mysql-configuration 'scheme-indent-function 0))
(eval . (put 'namespace-configuration 'scheme-indent-function 0))
(eval . (put 'nar-herder-cached-compression-configuration 'scheme-indent-function 0))
(eval . (put 'nar-herder-configuration 'scheme-indent-function 0))
(eval . (put 'network-address 'scheme-indent-function 0))
(eval . (put 'network-link 'scheme-indent-function 0))
(eval . (put 'network-manager-configuration 'scheme-indent-function 0))
(eval . (put 'network-route 'scheme-indent-function 0))
(eval . (put 'nfs-configuration 'scheme-indent-function 0))
(eval . (put 'nftables-configuration 'scheme-indent-function 0))
(eval . (put 'nginx-configuration 'scheme-indent-function 0))
(eval . (put 'nginx-location-configuration 'scheme-indent-function 0))
(eval . (put 'nginx-log-format-configuration 'scheme-indent-function 0))
(eval . (put 'nginx-named-location-configuration 'scheme-indent-function 0))
(eval . (put 'nginx-server-configuration 'scheme-indent-function 0))
(eval . (put 'nginx-upstream-configuration 'scheme-indent-function 0))
(eval . (put 'ngircd-channel 'scheme-indent-function 0))
(eval . (put 'ngircd-configuration 'scheme-indent-function 0))
(eval . (put 'ngircd-global 'scheme-indent-function 0))
(eval . (put 'ngircd-limits 'scheme-indent-function 0))
(eval . (put 'ngircd-operator 'scheme-indent-function 0))
(eval . (put 'ngircd-options 'scheme-indent-function 0))
(eval . (put 'ngircd-server 'scheme-indent-function 0))
(eval . (put 'ngircd-ssl 'scheme-indent-function 0))
(eval . (put 'nix-configuration 'scheme-indent-function 0))
(eval . (put 'nscd-cache 'scheme-indent-function 0))
(eval . (put 'nscd-configuration 'scheme-indent-function 0))
(eval . (put 'nslcd-configuration 'scheme-indent-function 0))
(eval . (put 'ntp-configuration 'scheme-indent-function 0))
(eval . (put 'ntp-server 'scheme-indent-function 0))
(eval . (put 'oci-container-configuration 'scheme-indent-function 0))
(eval . (put 'oci-image 'scheme-indent-function 0))
(eval . (put 'opaque-cgit-configuration 'scheme-indent-function 0))
(eval . (put 'opaque-cups-configuration 'scheme-indent-function 0))
(eval . (put 'opaque-dovecot-configuration 'scheme-indent-function 0))
(eval . (put 'opaque-prosody-configuration 'scheme-indent-function 0))
(eval . (put 'opendht-configuration 'scheme-indent-function 0))
(eval . (put 'openntpd-configuration 'scheme-indent-function 0))
(eval . (put 'opensmtpd-configuration 'scheme-indent-function 0))
(eval . (put 'openssh-configuration 'scheme-indent-function 0))
(eval . (put 'openvpn-ccd-configuration 'scheme-indent-function 0))
(eval . (put 'openvpn-client-configuration 'scheme-indent-function 0))
(eval . (put 'openvpn-remote-configuration 'scheme-indent-function 0))
(eval . (put 'openvpn-server-configuration 'scheme-indent-function 0))
(eval . (put 'openvswitch-configuration 'scheme-indent-function 0))
(eval . (put 'operation-access-control 'scheme-indent-function 0))
(eval . (put 'package-database-configuration 'scheme-indent-function 0))
(eval . (put 'pagekite-configuration 'scheme-indent-function 0))
(eval . (put 'pam-krb5-configuration 'scheme-indent-function 0))
(eval . (put 'pam-mount-configuration 'scheme-indent-function 0))
(eval . (put 'pam-mount-volume 'scheme-indent-function 0))
(eval . (put 'passdb-configuration 'scheme-indent-function 0))
(eval . (put 'patchwork-configuration 'scheme-indent-function 0))
(eval . (put 'patchwork-database-configuration 'scheme-indent-function 0))
(eval . (put 'patchwork-settings-module 'scheme-indent-function 0))
(eval . (put 'pcscd-configuration 'scheme-indent-function 0))
(eval . (put 'php-fpm-configuration 'scheme-indent-function 0))
(eval . (put 'php-fpm-dynamic-process-manager-configuration 'scheme-indent-function 0))
(eval . (put 'php-fpm-on-demand-process-manager-configuration 'scheme-indent-function 0))
(eval . (put 'php-fpm-static-process-manager-configuration 'scheme-indent-function 0))
(eval . (put 'pipefs-configuration 'scheme-indent-function 0))
(eval . (put 'plasma-desktop-configuration 'scheme-indent-function 0))
(eval . (put 'plugin-configuration 'scheme-indent-function 0))
(eval . (put 'policy-configuration 'scheme-indent-function 0))
(eval . (put 'polkit-configuration 'scheme-indent-function 0))
(eval . (put 'postgresql-config-file 'scheme-indent-function 0))
(eval . (put 'postgresql-configuration 'scheme-indent-function 0))
(eval . (put 'postgresql-role 'scheme-indent-function 0))
(eval . (put 'pounce-configuration 'scheme-indent-function 0))
(eval . (put 'power-profiles-daemon-configuration 'scheme-indent-function 0))
(eval . (put 'powertop-configuration 'scheme-indent-function 0))
(eval . (put 'prometheus-node-exporter-configuration 'scheme-indent-function 0))
(eval . (put 'prosody-configuration 'scheme-indent-function 0))
(eval . (put 'protocol-configuration 'scheme-indent-function 0))
(eval . (put 'pulseaudio-configuration 'scheme-indent-function 0))
(eval . (put 'qemu-binfmt-configuration 'scheme-indent-function 0))
(eval . (put 'qemu-guest-agent-configuration 'scheme-indent-function 0))
(eval . (put 'quassel-configuration 'scheme-indent-function 0))
(eval . (put 'radicale-auth-configuration 'scheme-indent-function 0))
(eval . (put 'radicale-configuration 'scheme-indent-function 0))
(eval . (put 'radicale-encoding-configuration 'scheme-indent-function 0))
(eval . (put 'radicale-logging-configuration 'scheme-indent-function 0))
(eval . (put 'radicale-rights-configuration 'scheme-indent-function 0))
(eval . (put 'radicale-server-configuration 'scheme-indent-function 0))
(eval . (put 'radicale-storage-configuration 'scheme-indent-function 0))
(eval . (put 'rasdaemon-configuration 'scheme-indent-function 0))
(eval . (put 'readymedia-configuration 'scheme-indent-function 0))
(eval . (put 'readymedia-media-directory 'scheme-indent-function 0))
(eval . (put 'redis-configuration 'scheme-indent-function 0))
(eval . (put 'repository-cgit-configuration 'scheme-indent-function 0))
(eval . (put 'resize-file-system-configuration 'scheme-indent-function 0))
(eval . (put 'restic-backup-configuration 'scheme-indent-function 0))
(eval . (put 'restic-backup-job 'scheme-indent-function 0))
(eval . (put 'rngd-configuration 'scheme-indent-function 0))
(eval . (put 'rootless-podman-configuration 'scheme-indent-function 0))
(eval . (put 'rpcbind-configuration 'scheme-indent-function 0))
(eval . (put 'rshiny-configuration 'scheme-indent-function 0))
(eval . (put 'rspamd-configuration 'scheme-indent-function 0))
(eval . (put 'rsync-configuration 'scheme-indent-function 0))
(eval . (put 'rsync-module 'scheme-indent-function 0))
(eval . (put 'samba-configuration 'scheme-indent-function 0))
(eval . (put 'screen-locker-configuration 'scheme-indent-function 0))
(eval . (put 'sddm-configuration 'scheme-indent-function 0))
(eval . (put 'seatd-configuration 'scheme-indent-function 0))
(eval . (put 'service-configuration 'scheme-indent-function 0))
(eval . (put 'service-type 'scheme-indent-function 0))
(eval . (put 'shepherd-action 'scheme-indent-function 0))
(eval . (put 'shepherd-configuration 'scheme-indent-function 0))
(eval . (put 'shepherd-service 'scheme-indent-function 0))
(eval . (put 'slim-configuration 'scheme-indent-function 0))
(eval . (put 'snuik-configuration 'scheme-indent-function 0))
(eval . (put 'speakersafetyd-configuration 'scheme-indent-function 0))
(eval . (put 'spice-vdagent-configuration 'scheme-indent-function 0))
(eval . (put 'ssl-configuration 'scheme-indent-function 0))
(eval . (put 'static-networking 'scheme-indent-function 0))
(eval . (put 'strongswan-configuration 'scheme-indent-function 0))
(eval . (put 'sugar-desktop-configuration 'scheme-indent-function 0))
(eval . (put 'syncthing-config-file 'scheme-indent-function 0))
(eval . (put 'syncthing-configuration 'scheme-indent-function 0))
(eval . (put 'syncthing-device 'scheme-indent-function 0))
(eval . (put 'syncthing-folder 'scheme-indent-function 0))
(eval . (put 'syncthing-folder-device 'scheme-indent-function 0))
(eval . (put 'sysctl-configuration 'scheme-indent-function 0))
(eval . (put 'syslog-configuration 'scheme-indent-function 0))
(eval . (put 'system-log-configuration 'scheme-indent-function 0))
(eval . (put 'tailon-configuration 'scheme-indent-function 0))
(eval . (put 'tailon-configuration-file 'scheme-indent-function 0))
(eval . (put 'thermald-configuration 'scheme-indent-function 0))
(eval . (put 'tlp-configuration 'scheme-indent-function 0))
(eval . (put 'tor-configuration 'scheme-indent-function 0))
(eval . (put 'tor-onion-service-configuration 'scheme-indent-function 0))
(eval . (put 'tor-transport-plugin 'scheme-indent-function 0))
(eval . (put 'transmission-daemon-configuration 'scheme-indent-function 0))
(eval . (put 'udev-configuration 'scheme-indent-function 0))
(eval . (put 'udisks-configuration 'scheme-indent-function 0))
(eval . (put 'unattended-upgrade-configuration 'scheme-indent-function 0))
(eval . (put 'unbound-configuration 'scheme-indent-function 0))
(eval . (put 'unbound-remote 'scheme-indent-function 0))
(eval . (put 'unbound-server 'scheme-indent-function 0))
(eval . (put 'unbound-zone 'scheme-indent-function 0))
(eval . (put 'unix-listener-configuration 'scheme-indent-function 0))
(eval . (put 'upower-configuration 'scheme-indent-function 0))
(eval . (put 'usb-modeswitch-configuration 'scheme-indent-function 0))
(eval . (put 'userdb-configuration 'scheme-indent-function 0))
(eval . (put 'varnish-configuration 'scheme-indent-function 0))
(eval . (put 'virtlog-configuration 'scheme-indent-function 0))
(eval . (put 'virtual-build-machine 'scheme-indent-function 0))
(eval . (put 'virtualhost-configuration 'scheme-indent-function 0))
(eval . (put 'vnstat-configuration 'scheme-indent-function 0))
(eval . (put 'webssh-configuration 'scheme-indent-function 0))
(eval . (put 'wesnothd-configuration 'scheme-indent-function 0))
(eval . (put 'whoogle-configuration 'scheme-indent-function 0))
(eval . (put 'wireguard-configuration 'scheme-indent-function 0))
(eval . (put 'wireguard-peer 'scheme-indent-function 0))
(eval . (put 'wpa-supplicant-configuration 'scheme-indent-function 0))
(eval . (put 'wsdd-configuration 'scheme-indent-function 0))
(eval . (put 'xe-guest-utilities-configuration 'scheme-indent-function 0))
(eval . (put 'xen-guest-agent-configuration 'scheme-indent-function 0))
(eval . (put 'xfce-desktop-configuration 'scheme-indent-function 0))
(eval . (put 'xorg-configuration 'scheme-indent-function 0))
(eval . (put 'xvnc-configuration 'scheme-indent-function 0))
(eval . (put 'yggdrasil-configuration 'scheme-indent-function 0))
(eval . (put 'zabbix-agent-configuration 'scheme-indent-function 0))
(eval . (put 'zabbix-front-end-configuration 'scheme-indent-function 0))
(eval . (put 'zabbix-server-configuration 'scheme-indent-function 0))
(eval . (put 'zone-entry 'scheme-indent-function 0))
(eval . (put 'zone-file 'scheme-indent-function 0))
(eval . (put 'zram-device-configuration 'scheme-indent-function 0)))))
-16
View File
@@ -1,16 +0,0 @@
root = true
[*.{c,h,cpp,hpp,el,scm,ac,am,m4,po}{,.in}]
end_of_line = lf
insert_final_newline = true
charset = utf-8
trim_trailing_whitespace = true
[*.{c,h,cpp,hpp,ac,am,m4,el,scm}{,.in}]
max_line_length = 80
[*.{c,h,cpp,hpp,ac,m4,el,scm}{,.in}]
indent_style = space
[*.{c,h,cpp,hpp}{,.in}]
indent_size = 4
-16
View File
@@ -1,16 +0,0 @@
---
name: 'Bug Reporting'
about: 'Please check whether the bug is already reported, on Codeberg or in the Guix issue tracker.'
title: ''
ref: ''
labels:
---
<!--
Describe the bug you encounter below.
Please provide the output of the command `guix describe`.
-->
`guix describe` outputs:
```text
```
-22
View File
@@ -1,22 +0,0 @@
# Force the use of templates.
blank_issues_enabled: false
contact_links:
- name: Guix Issue Tracker (will stop accepting new submittions on January 1st, 2026)
url: https://issues.guix.gnu.org/
about: Submit patches and bug reports via email.
- name: Help Mailing List (help-guix@gnu.org)
url: https://lists.gnu.org/mailman/listinfo/help-guix
about: Subscribe to the Help mailing list to get support from the GNU Guix community via email. You can post messages in English though we also accept other languages.
- name: Development Mailing List (guix-devel@gnu.org)
url: https://lists.gnu.org/mailman/listinfo/guix-devel
about: Discussion about the development of GNU Guix.
- name: Security Mailing List (guix-security@gnu.org)
url: https://lists.gnu.org/mailman/listinfo/guix-security
about: Report security issues in Guix itself or in the packages it provides. Posting here allows Guix developers to address the problem before it is widely publicized.
- name: Contact - GNU Guix
url: https://guix.gnu.org/en/contact/
about: Communication channels of GNU Guix.
-56
View File
@@ -1,56 +0,0 @@
---
name: 'Pull Request'
about: 'Pull request template'
title: ''
ref: ''
labels:
---
<!--
Below is a checklist for package-related patches.
For details please refer to [the manual](https://guix.gnu.org/manual/devel/en/html_node/Submitting-Patches.html).
Common issues in the contribution process are also documented in the
["Contributing" chapter](https://guix.gnu.org/manual/devel/en/html_node/Contributing.html)
of the manual.
Tick a box by changing it from [ ] to [x].
-->
- System(s) where you built it (successfully):
- [ ] x86_64-linux
- [ ] i686-linux
- [ ] aarch64-linux
- [ ] armhf-linux
- [ ] powerpc64le-linux
- [ ] riscv64-linux
- [ ] x86_64-gnu
- [ ] i586-gnu
- Package **update**
- Build status of direct dependents (`./pre-inst-env guix build -k -P1 PACKAGE ...`):
```text
```
- Link to upstream release notes (if applicable):
```text
```
- Package **addition**
- [ ] Fixed errors reported by `guix lint` (`./pre-inst-env guix lint PACKAGE ...`).
- [ ] Verified cryptographic signature provided by upstream.
- [ ] The packages don't use bundled copies of software.
- [ ] Synopsis and description are written in conformance with [the guidelines](https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html).
- [ ] Commit messages follow [the "ChangeLog" style](https://www.gnu.org/prep/standards/html_node/Change-Logs.html).
- [ ] The change doesn't break `guix pull` (`guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master --disable-authentication`).
- Successfully cross-compiled to the following target(s) (this is optional):
- [ ] x86_64-linux-gnu
- [ ] i686-linux-gnu
- [ ] aarch64-linux-gnu
- [ ] arm-linux-gnueabihf
- [ ] powerpc64le-linux-gnu
- [ ] riscv64-linux-gnu
- [ ] x86_64-pc-gnu
- [ ] i586-pc-gnu
-3
View File
@@ -1,3 +0,0 @@
*.scm diff=scheme
*.scm.in diff=scheme
*.texi diff=texinfo
-163
View File
@@ -1,163 +0,0 @@
*.eps
*.go
*.log
*.mo
*.pdf
*.png
*.tar.xz
*.tmp
*~
.#*
\#*\#
,*
/ABOUT-NLS
/INSTALL
/aclocal.m4
/autom4te.cache
/build-aux/ar-lib
/build-aux/compile
/build-aux/config.guess
/build-aux/config.rpath
/build-aux/config.sub
/build-aux/depcomp
/build-aux/install-sh
/build-aux/mdate-sh
/build-aux/missing
/build-aux/test-driver
/build-aux/texinfo.tex
/config.status
/configure
/doc/*.1
/doc/.dirstamp
/doc/contributing.*.texi
/doc/guix*.aux
/doc/guix*.cp
/doc/guix*.cps
/doc/guix*.fn
/doc/guix*.fns
/doc/guix*.html
/doc/guix*.info
/doc/guix*.info-[0-9]
/doc/guix*.info-[0-9][0-9]
/doc/guix*.ky
/doc/guix*.pg
/doc/guix*.toc
/doc/guix*.t2p
/doc/guix*.tp
/doc/guix*.vr
/doc/guix*.vrs
/doc/guix.*.texi
/doc/guix-cookbook.*.texi
/doc/guix.aux
/doc/guix.cp
/doc/guix.cps
/doc/guix.fn
/doc/guix.fns
/doc/guix.html
/doc/guix.info
/doc/guix.info-[0-9]
/doc/guix.ky
/doc/guix.pg
/doc/guix.toc
/doc/guix.t2p
/doc/guix.tp
/doc/guix.vr
/doc/guix.vrs
/doc/os-config-bare-bones.texi
/doc/os-config-desktop.texi
/doc/stamp-vti
/doc/version.texi
/doc/version-*.texi
/etc/apparmor.d/tunables/guix
/etc/committer.scm
/etc/gnu-store.mount
/etc/guix-daemon.cil
/etc/guix-daemon.conf
/etc/guix-daemon.service
/etc/guix-publish.conf
/etc/guix-publish.service
/etc/guix-gc.service
/etc/guix-gc.timer
/etc/init.d/guix-daemon
/etc/openrc/guix-daemon
/guix-*
/guix/config.scm
/libformat.a
/libstore.a
/libutil.a
/m4/*
/m4/ChangeLog
/m4/gettext.m4
/m4/iconv.m4
/m4/lib-ld.m4
/m4/lib-link.m4
/m4/lib-prefix.m4
/m4/nls.m4
/m4/po.m4
/m4/progtest.m4
/nix/config.h
/nix/config.h.in
/po/doc/*.mo
/po/doc/*.pot
/po/guix/*.gmo
/po/guix/*.insert-header
/po/guix/*.mo
/po/guix/ChangeLog
/po/guix/Makefile.in.in
/po/guix/Makevars.template
/po/guix/POTFILES
/po/guix/Rules-quot
/po/guix/boldquot.sed
/po/guix/en@boldquot.*
/po/guix/en@quot.*
/po/guix/guix.pot
/po/guix/insert-header.sin
/po/guix/quot.sed
/po/guix/remove-potcdate.sed
/po/guix/remove-potcdate.sin
/po/guix/stamp-po
/po/packages/*.gmo
/po/packages/*.insert-header
/po/packages/*.mo
/po/packages/ChangeLog
/po/packages/Makefile.in.in
/po/packages/Makevars.template
/po/packages/POTFILES
/po/packages/Rules-quot
/po/packages/boldquot.sed
/po/packages/en@boldquot.*
/po/packages/en@quot.*
/po/packages/guix-packages.pot
/po/packages/insert-header.sin
/po/packages/quot.sed
/po/packages/remove-potcdate.sed
/po/packages/remove-potcdate.sin
/po/packages/stamp-po
/pre-inst-env
/release-*
/scripts/guix
/t-*/
/test-env
/test-tmp
/tests/**/*.trs
GPATH
GRTAGS
GTAGS
Makefile
Makefile.in
config.cache
stamp-h[0-9]
.am[0-9]*/
.dirstamp
.deps
tmp
/doc/os-config-lightweight-desktop.texi
/nix/scripts/download
/.tarball-version
/.version
/doc/stamp-*
/gnu/packages/bootstrap
/gnu/packages/aux-files/guile-guile-launcher.o
/guile
.DS_Store
.mumi/current-issue
-123
View File
@@ -1,123 +0,0 @@
;; This file, which is best viewed as -*- Scheme -*-, lists the OpenPGP keys
;; currently authorized to sign commits in this repository.
(authorizations
(version 0)
(;; primary: "D963 A5A3 8A80 3D52 4461 F914 7483 0A27 6C32 8EC2"
("2841 9AC6 5038 7440 C7E9 2FFA 2208 D209 58C1 DEB0"
(name "abcdw"))
("AD17 A21E F8AE D8F1 CC02 DBD9 F7D5 C9BF 765C 61E3"
(name "andreas"))
("27D5 86A4 F890 0854 329F F09F 1260 E464 82E6 3562"
(name "apteryx"))
("7F73 0343 F2F0 9F3C 77BF 79D3 2E25 EE8B 6180 2BB3"
(name "arunisaac"))
( ;; primary: "D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F"
"01FD 85F4 1A7B 7F82 0583 06A5 935E BE07 36DC 857E"
(name "avp"))
( ;; primary: "34FF 38BC D151 25A6 E340 A0B5 3453 2F9F AFCA 8B8E"
"A3A4 B419 0074 087C A7DE 5698 BC45 CA67 E2F8 D007"
(name "bavier"))
("3E89 EEE7 458E 720D 9754 E0B2 5E28 A33B 0B84 F577"
(name "cbaines"))
("3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5"
(name "civodul"))
("CCB8 1842 F9D7 058E CD67 377A BF5C DF4D F6BF 6682"
(name "csantosb"))
("510A 8628 E2A7 7678 8F8C 709C 4BC0 2592 5FF8 F4D3"
(name "cwebber"))
(;; primary: "295A F991 6F46 F8A1 34B0 29DA 8086 3842 F0FE D83B"
"76CE C6B1 7274 B465 C02D B3D9 E71A 3554 2C30 BAA5"
(name "dannym"))
("8CCB A7F5 52B9 CBEA E1FB 2915 8328 C747 0FF1 D807"
(name "dthompson"))
("A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351"
(name "efraim"))
("5DBE 23D3 9053 6526 7F8C C76A FDB9 52BD 3F73 56D6"
(name "ekaitz"))
(;; primary: "D1BD 1EB7 B655 AECE 0BA7 8F94 4940 7E7E 89CA 9B07"
"0807 AC76 DFE8 4303 6D5F 5879 F51D 4A16 DCEE 6FA7"
(name "futurile"))
("E426 7CD1 FC3E E959 7F07 42F9 CC98 E9F0 4330 FD7F"
(name "gabber"))
(;; primary: "2453 02B1 BAB1 F867 FDCA 96BC 8F3F 861F 82EB 7A9A"
"CBC5 9C66 EC27 B971 7940 6B3E 6BE8 208A DF21 FE3F"
(name "glv"))
(;; primary: "220F 98D9 5E86 204C 0036 DA7B 6DEC 4360 408B 4185"
"F4C2 D1DF 3FDE EA63 D1D3 0776 ACC6 6D09 CA52 8292"
(name "hako"))
("B943 509D 633E 80DD 27FC 4EED 634A 8DFF D3F6 31DF"
(name "htgoebel"))
( ;; primary: "FECD 9EBA FAAD 1831 7E05 DAC0 E55F 4198 D2A7 0CD7"
"6980 A9B9 5202 AA11 EB1D 8922 8499 AC88 F1A7 1CF2"
(name "ieure"))
(;; primary: "66A5 6D9C 9A98 BE7F 719A B401 2652 5665 AE72 7D37"
"0325 78A6 8298 94E7 2AA2 66F5 D415 BF25 3B51 5976"
(name "iyzsong"))
("1A85 8392 E331 EAFD B8C2 7FFB F3C1 A0D9 C1D6 5273"
(name "janneke"))
("3B1D 7F19 E36B B60C 0F5B 2CA9 A52A A2B4 77B6 DD35"
(name "jgart"))
(;; primary: "1BA4 08C5 8BF2 0EA7 3179 635A 865D C0A3 DED9 B5D0"
"E31D 9DDE EBA5 4A14 8A20 4550 DA45 97F9 47B4 1025"
(name "jlicht"))
("8141 6036 E81A 5CF7 8F80 1071 ECFC 8398 8B4E 4B9F"
(name "jonsger"))
("3924 8CD8 41C6 3CC3 36DC AF2F 505E 40B9 1617 1A8A"
(name "jpoiret"))
("017D 74E2 7F58 5696 3801 781D F663 943E 08D8 092A"
(name "lbraun"))
("ACC2 3BA0 59F7 CCF4 08F0 43AD 442A 84B8 C70E 2F87"
(name "lilyp"))
("6840 722E EEE4 D3A6 4EE5 3EAC 6AAC 1963 757F 47FF"
(name "lfam"))
("D919 0965 CE03 199E AF28 B3BE 7CEF 2984 7562 C516"
(name "mhw"))
("B845 5B7F FAD5 E8E9 5DEF 4296 637B 0B13 8065 B68A"
(name "monego"))
("4008 6A7E 0252 9B60 31FB 8607 8354 7635 3176 9CA6"
(name "mothacehe"))
(;; primary: "F5BC 5534 C36F 0087 B39D 36EF 1C9D C4FE B9DB 7C4B"
"F5DA 2032 4B87 3D0B 7A38 7672 0DB0 FF88 4F55 6D79"
(name "nckx"))
("ED0E F1C8 E126 BA83 1B48 5FE9 DA00 B4F0 48E9 2F2D"
(name "ngz"))
("002A AAA3 4208 F3F2 BBD7 CE14 EF6E B274 13CF EEF3"
(name "oom"))
("CEF4 CB91 4856 BA38 0A20 A7E2 3008 88CB 39C6 3817"
(name "pelzflorian"))
(;; primary: "7E9F 5BF6 1680 4367 127B 7A87 F9E6 9FB8 5A75 54F1"
"A420 7B56 C255 109F 2CB3 157E 4990 97AE 5EA8 15D9"
(name "podiki"))
("BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC"
(name "rekado"))
(;; From commit cc51c03ff867d4633505354819c6d88af88bf919 (March 2020).
;; See <https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00070.html>.
"F556 FD94 FB8F 8B87 79E3 6832 CBD0 CD51 38C1 9AFC"
(name "roelj"))
(;; From commit 2cbede5935eb6a40173bbdf30a9ad22bf7574c22 (Jan. 2020). See
;; <https://lists.gnu.org/archive/html/guix-devel/2020-01/msg00499.html>.
"1EFB 0909 1F17 D28C CBF9 B13A 53D4 57B2 D636 EE82"
(name "roptat"))
(;; primary: "3AC5 5D0E 1DA7 AF44 3868 11EE 213D C372 0E7A 023C"
"6B51 071A 0FB1 52AD ED93 6360 0322 7982 69E4 71C3"
(name "Rutherther"))
("EAD1 89E4 799B 5E5E B20A 2A19 CDBC 0BD9 5943 A706"
(name "SameExpert"))
(;; primary: "D6B0 C593 DA8C 5EDC A44C 7A58 C336 91F7 1188 B004"
"A02C 2D82 0EF4 B25B A6B5 1D90 2AC6 A5EC 1C35 7C59"
(name "samplet"))
("9847 81DE 689C 21C2 6418 0867 76D7 27BF F62C D2B5"
(name "sharlatan"))
("F494 72F4 7A59 00D5 C235 F212 89F9 6D48 08F3 59C7"
(name "snape"))
("6580 7361 3BFC C5C7 E2E4 5D45 DC51 8FC8 7F97 16AA"
(name "vagrantc"))
(;; primary: "C955 CC5D C048 7FB1 7966 40A9 199A F6A3 67E9 4ABB"
"7238 7123 8EAC EB63 4548 5857 167F 8EA5 001A FA9C"
(name "wigust"))
("7EBE A494 60CE 5E2C 0875 7FDB 3B5A A993 E1A2 DFF0"
(name "z572"))
("705A 29B7 01EE 410E B6F9 236E 92F1 D22C 608E E7E5"
(name "zimoun"))))
-7
View File
@@ -1,7 +0,0 @@
;; This is a Guix channel.
(channel
(version 0)
(news-file "etc/news.scm")
(keyring-reference "keyring")
(url "https://git.guix.gnu.org/guix.git")) ;the primary URL
-102
View File
@@ -1,102 +0,0 @@
# This list is used to avoid multiple name/email instances of the same
# contributors reported by "git log" and "git shortlog" commands.
Adriano Peluso <catonano@gmail.com>
Al McElrath <hello@yrns.org> <hello@atonesir.com>
Alex Sassmannshausen <alex@pompo.co> <alex.sassmannshausen@gmail.com>
Alexander I. Grafov <grafov@gmail.com>
Alírio Eyng <alirioeyng@gmail.com>
Amin Bandali <bandali@gnu.org> <mab@gnu.org>
Amirouche Boubekki <amirouche@hypermove.net>
Andreas Enge <andreas@enge.fr> <andreas.enge@inria.fr>
Andreas Enge <andreas@enge.fr> <privat@xobs-novena>
Andy Wingo <wingo@igalia.com> <wingo@pobox.com>
Ben Woodcroft <donttrustben@gmail.com>
Ben Woodcroft <donttrustben@gmail.com> <b.woodcroft@uq.edu.au>
Ben Woodcroft <donttrustben@gmail.com> <donttrustben near gmail.com>
Brett Gilio <brettg@gnu.org> <brettg@posteo.net>
Christine Lemmer-Webber <cwebber@dustycloud.org>
Claes Wallin (韋嘉誠) <claes.wallin@greatsinodevelopment.com>
Cyprien Nicolas <cyprien@nicolas.tf> <c.nicolas+gitorious@gmail.com>
Daniel Pimentel <d4n1@d4n1.org> <d4n1@member.fsf.org>
Danny Milosavljevic <dannym@scratchpost.org> <dannym+a@scratchpost.org>
David Hashe <david.hashe@dhashe.com> <address@hidden>
David Thompson <davet@gnu.org> <dthompson2@worcester.edu>
David Thompson <davet@gnu.org> <dthompson@member.fsf.org>
David Thompson <davet@gnu.org> <dthompson@vistahigherlearning.com>
Deck Pickard <deck.r.pickard@gmail.com> <nebu@kipple>
Eric Bavier <bavier@posteo.net> <ericbavier@gmail.com>
Eric Bavier <bavier@posteo.net> <bavier@member.fsf.org>
Eric Dvorsak <eric@dvorsak.fr> <yenda1@gmail.com>
Evgeny Pisemsky <mail@pisemsky.site> <evgeny@pisemsky.com>
George Clemmer <myglc2@gmail.com>
Giacomo Leidi <therewasa@fishinthecalculator.me> <goodoldpaul@autistici.org>
ison <ison@airmail.cc> <ison111@protonmail.com>
Ivan Vilata i Balaguer <ivan@selidor.net>
Jakob L. Kreuze <zerodaysfordays@sdf.org> <zerodaysfordays@sdf.lonestar.org>
Jeff Mickey <j@codemac.net> <jm@igneous.io>
John Darrington <jmd@gnu.org> <john@darrington.wattle.id.au>
John J. Foerch <jjfoerch@earthlink.net>
Joshua Grant <tadni@riseup.net> <gzg@riseup.net>
Joshua Grant <tadni@riseup.net> <jgrant@parenthetical.io>
Joshua Grant <tadni@riseup.net> <tadnimi@gmail.com>
Joshua Grant <tadni@riseup.net> <youlysses@riseup.net>
Juliana Sims <juli@incana.org> <jtsims@protonmail.com>
Kei Kebreau <kkebreau@posteo.net>
Leo Famulari <leo@famulari.name> <lfamular@gmail.com>
Liliana Marie Prikler <liliana.prikler@gmail.com>
Liliana Marie Prikler <liliana.prikler@gmail.com> Leo Prikler <leo.prikler@student.tugraz.at>
Ludovic Courtès <ludo@gnu.org> <ludovic.courtes@inria.fr>
Marek Benc <dusxmt@gmx.com> <merkur32@gmail.com>
Marius Bakke <marius@gnu.org> <mbakke@fastmail.com>
Marius Bakke <marius@gnu.org> <m.bakke@warwick.ac.uk>
Marius Bakke <marius@gnu.org> <marius.bakke@usit.uio.no>
Marius Bakke <marius@gnu.org> <mbakke@berlin.guixsd.org>
Mathieu Lirzin <mthl@gnu.org> <mthl@openmailbox.org>
Mathieu Lirzin <mthl@gnu.org> <mathieu.lirzin@openmailbox.org>
Mathieu Othacehe <m.othacehe@gmail.com>
Mathieu Othacehe <mathieu.othacehe@parrot.com>
Mathieu Othacehe <othacehe@gnu.org>
Matthew James Kraai <kraai@ftbfs.org>
Maxim Cournoyer <maxim@guixotic.coop> <maxim.cournoyer@gmail.com>
Nguyễn Gia Phong <cnx@loang.net> <mcsinyx@disroot.org>
Nikita Karetnikov <nikita@karetnikov.org> <nikita.karetnikov@gmail.com>
nikita <nikita@n0.is>
nikita <nikita@n0.is> ng0 <ng0@n0.is>
nikita <nikita@n0.is> Nils Gillmann <ng0@n0.is>
nikita <nikita@n0.is> Nils Gillmann <gillmann@infotropique.org>
nikita <nikita@n0.is> ng0 <ng0@crash.cx>
nikita <nikita@n0.is> <ng0@infotropique.org>
nikita <nikita@n0.is> <ng0@no-reply.infotropique.org>
nikita <nikita@n0.is> <ng0@no-reply.pragmatique.xyz>
nikita <nikita@n0.is> <ng0@pragmatique.xyz>
nikita <nikita@n0.is> <contact.ng0@cryptolab.net>
nikita <nikita@n0.is> <ng0@we.make.ritual.n0.is>
nikita <nikita@n0.is> <ngillmann@runbox.com>
nikita <nikita@n0.is> <niasterisk@grrlz.net>
nikita <nikita@n0.is> <ng@niasterisk.space>
nikita <nikita@n0.is> <ng0@libertad.pw>
Pierre Neidhardt <mail@ambrevar.xyz>
Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public01@thebird.nl>
Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public12@thebird.nl>
Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public12@email>
Raimon Grau <raimonster@gmail.com> <raimon@3scale.net>
Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com>
Raymond Nicholson <rain1@openmailbox.org>
Rene Saavedra <rennes@openmailbox.org>
Ricardo Wurmus <rekado@elephly.net>
Ricardo Wurmus <rekado@elephly.net> <ricardo.wurmus@mdc-berlin.de>
宋文武 <iyzsong@envs.net> <iyzsong@gmail.com>
宋文武 <iyzsong@envs.net> <iyzsong@member.fsf.org>
Stefan Reichör <stefan@xsteve.at>
Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
Theodoros Foradis <theodoros.for@openmailbox.org> <theodoros@foradis.org>
Thomas Danckaert <thomas.danckaert@gmail.com> <post@thomasdanckaert.be>
Tobias Geerinckx-Rice <me@tobias.gr> <tobias.geerinckx.rice@gmail.com>
Tomas Volf <~@wolfsden.cz> <wolf@wolfsden.cz>
Tomáš Čech <sleep_walker@gnu.org> <sleep_walker@suse.cz>
Vincent Legoll <vincent.legoll@gmail.com> <vincent.legoll@idgrilles.fr>
Zheng Junjie <873216071@qq.com> Z572 <873216071@qq.com>
Zheng Junjie <873216071@qq.com> Zheng Junjie <zhengjunjie@iscas.ac.cn>
Zheng Junjie <873216071@qq.com> Zheng junjie <873216071@qq.com>
-3
View File
@@ -1,3 +0,0 @@
((debbugs-host . "debbugs.gnu.org")
(patch-email-address . "guix-patches@gnu.org")
(mumi-host . "issues.guix.gnu.org"))
-11
View File
@@ -1,11 +0,0 @@
# This config file allows for Patchwork integration with
# https://patches.guix-patches.cbaines.net/.
[settings]
project: guix-patches
patchwork_url: https://patches.guix-patches.cbaines.net
add_signoff: False
# TODO: enable check_patch
check_patch: False
ignore_bad_tags: True
keep_change_id: True
-9
View File
@@ -1,9 +0,0 @@
GNU Guix consists of Scheme code that implements the deployment model
of the Nix package management tool. In fact, it currently talks to a
build daemon whose code comes from Nix (see the manual for details.)
Nix was initially written by Eelco Dolstra; other people have been
contributing to it. See `nix/AUTHORS' for details.
The list of GNU Guix contributors is now generated from the output of
'git log' and written to this file, as can be seen in release tarballs.
-103
View File
@@ -1,103 +0,0 @@
Important: to avoid polarizing/hurtful discussions in our public spaces, any
matter pertaining to our use of this Code of Conduct should be brought
privately to the Guix maintainers at guix-maintainers@gnu.org. Failure to do
so will be considered as a violation of this Code of Conduct.
Contributor Covenant Code of Conduct
Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
guix-maintainers@gnu.org.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
1. Correction
Community Impact: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
Consequence: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
2. Warning
Community Impact: A violation through a single incident or series of
actions.
Consequence: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.
3. Temporary Ban
Community Impact: A serious violation of community standards, including
sustained inappropriate behavior.
Consequence: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
4. Permanent Ban
Community Impact: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
Consequence: A permanent ban from any sort of public interaction within the
community.
Attribution
This Code of Conduct is adapted from the Contributor Covenant,
version 2.1, available at
https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
Community Impact Guidelines were inspired by
Mozillas code of conduct enforcement ladder.
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
-410
View File
@@ -1,410 +0,0 @@
# This -*- conf -*- file was generated by './etc/teams.scm codeowners'.
#
# It describes the expected reviewers for a pull request based on the
# changed files. Unlike what the name of the file suggests they don't
# own the code (ownership is collective in this house!) but merely have
# a good understanding of that area of the codebase and therefore are
# usually suited as a reviewer.
gnu/packages/machine-learning\.scm @guix/ai
gnu/packages/audio\.scm @guix/audio
gnu/packages/fluidplug\.scm @guix/audio
gnu/packages/xiph\.scm @guix/audio
gnu/packages/elixir(-.+|)\.scm$ @guix/beam
guix/build/mix-build-system\.scm @guix/beam
guix/build-system/mix\.scm @guix/beam
gnu/packages/erlang(-.+|)\.scm$ @guix/beam
guix/build/rebar-build-system\.scm @guix/beam
guix/build-system/rebar\.scm @guix/beam
guix/import/hexpm\.scm @guix/beam
guix/scripts/import/hexpm\.scm @guix/beam
gnu/packages/bioinformatics\.scm @guix/bioinformatics
gnu/packages/commencement\.scm @guix/bootstrap
gnu/packages/mes\.scm @guix/bootstrap
gnu/build-system/cmake\.scm @guix/cpp
gnu/build/cmake-build-system\.scm @guix/cpp
gnu/packages/c\.scm @guix/cpp
gnu/packages/cmake\.scm @guix/cpp
gnu/packages/cpp\.scm @guix/cpp
gnu/packages/ninja\.scm @guix/cpp
gnu/packages/valgrind\.scm @guix/cpp
guix/avahi\.scm @guix/core
guix/base16\.scm @guix/core
guix/base32\.scm @guix/core
guix/base64\.scm @guix/core
guix/bzr-download\.scm @guix/core
guix/cache\.scm @guix/core
guix/channels\.scm @guix/core
guix/ci\.scm @guix/core
guix/colors\.scm @guix/core
guix/combinators\.scm @guix/core
guix/config\.scm @guix/core
guix/cpio\.scm @guix/core
guix/cpu\.scm @guix/core
guix/cve\.scm @guix/core
guix/cvs-download\.scm @guix/core
guix/deprecation\.scm @guix/core
guix/derivations\.scm @guix/core
guix/describe\.scm @guix/core
guix/diagnostics\.scm @guix/core
guix/discovery\.scm @guix/core
guix/docker\.scm @guix/core
guix/download\.scm @guix/core
guix/elf\.scm @guix/core
guix/ftp-client\.scm @guix/core
guix/gexp\.scm @guix/core
guix/git-authenticate\.scm @guix/core
guix/git-download\.scm @guix/core
guix/git\.scm @guix/core
guix/glob\.scm @guix/core
guix/gnu-maintenance\.scm @guix/core
guix/gnupg\.scm @guix/core
guix/grafts\.scm @guix/core
guix/graph\.scm @guix/core
guix/hash\.scm @guix/core
guix/hg-download\.scm @guix/core
guix/http-client\.scm @guix/core
guix/i18n\.scm @guix/core
guix/inferior\.scm @guix/core
guix/ipfs\.scm @guix/core
guix/least-authority\.scm @guix/core
guix/licenses\.scm @guix/core
guix/lint\.scm @guix/core
guix/man-db\.scm @guix/core
guix/memoization\.scm @guix/core
guix/modules\.scm @guix/core
guix/monad-repl\.scm @guix/core
guix/monads\.scm @guix/core
guix/narinfo\.scm @guix/core
guix/nar\.scm @guix/core
guix/openpgp\.scm @guix/core
guix/packages\.scm @guix/core
guix/pki\.scm @guix/core
guix/platform\.scm @guix/core
guix/profiles\.scm @guix/core
guix/profiling\.scm @guix/core
guix/progress\.scm @guix/core
guix/quirks\.scm @guix/core
guix/read-print\.scm @guix/core
guix/records\.scm @guix/core
guix/remote\.scm @guix/core
guix/repl\.scm @guix/core
guix/search-paths\.scm @guix/core
guix/self\.scm @guix/core
guix/serialization\.scm @guix/core
guix/sets\.scm @guix/core
guix/ssh\.scm @guix/core
guix/status\.scm @guix/core
guix/store\.scm @guix/core
guix/substitutes\.scm @guix/core
guix/svn-download\.scm @guix/core
guix/swh\.scm @guix/core
guix/tests\.scm @guix/core
guix/transformations\.scm @guix/core
guix/ui\.scm @guix/core
guix/upstream\.scm @guix/core
guix/utils\.scm @guix/core
guix/workers\.scm @guix/core
guix/platforms/ @guix/core
guix/scripts/ @guix/core
guix/store/ @guix/core
nix/ @guix/core
gnu/packages/base\.scm @guix/core-packages
gnu/packages/bootstrap\.scm @guix/core-packages
gnu/packages/commencement\.scm @guix/core-packages
gnu/packages/cross-base\.scm @guix/core-packages
gnu/packages/gcc\.scm @guix/core-packages
gnu/packages/guile\.scm @guix/core-packages
gnu/packages/ld-wrapper\.in @guix/core-packages
gnu/packages/make-bootstrap\.scm @guix/core-packages
gnu/packages/multiprecision\.scm @guix/core-packages
guix/build/gnu-build-system\.scm @guix/core-packages
guix/build/utils\.scm @guix/core-packages
guix/build-system/gnu\.scm @guix/core-packages
gnu/packages/crypto\.scm @guix/crypto
gnu/packages/gnupg\.scm @guix/crypto
gnu/packages/nettle\.scm @guix/crypto
gnu/packages/password-utils\.scm @guix/crypto
gnu/packages/security-token\.scm @guix/crypto
gnu/packages/ssh\.scm @guix/crypto
gnu/packages/tls\.scm @guix/crypto
gnu/packages/debian\.scm @guix/debian
\.texi$ @guix/documentation
doc/build\.scm @guix/documentation
gnu/system/examples/bare-bones\.tmpl @guix/documentation
gnu/system/examples/lightweight-desktop\.tmpl @guix/documentation
gnu/system/examples/desktop\.tmpl @guix/documentation
gnu/packages/electronics\.scm @guix/electronics
gnu/packages/libftdi\.scm @guix/electronics
gnu/packages/engineering\.scm @guix/electronics
gnu/packages/flashing-tools\.scm @guix/electronics
gnu/packages/aux-files/emacs/guix-emacs\.el @guix/emacs
gnu/packages/aux-files/emacs/comp-integrity\.el @guix/emacs
gnu/packages/emacs(-.+|)\.scm$ @guix/emacs
gnu/packages/tree-sitter\.scm @guix/emacs
guix/build/emacs-build-system\.scm @guix/emacs
guix/build/emacs-utils\.scm @guix/emacs
guix/build-system/emacs\.scm @guix/emacs
guix/import/elpa\.scm @guix/emacs
guix/scripts/import/elpa\.scm @guix/emacs
tests/import/elpa\.scm @guix/emacs
gnu/packages/bootloaders\.scm @guix/embedded
gnu/packages/firmware\.scm @guix/embedded
gnu/packages/emulators\.scm @guix/games
gnu/packages/games\.scm @guix/games
gnu/packages/game-development\.scm @guix/games
gnu/packages/luanti\.scm @guix/games
gnu/packages/esolangs\.scm @guix/games
gnu/packages/motti\.scm @guix/games
guix/build/luanti-build-system\.scm @guix/games
etc/teams/gnome @guix/gnome
gnu/packages/glib\.scm @guix/gnome
gnu/packages/gstreamer\.scm @guix/gnome
gnu/packages/gtk\.scm @guix/gnome
gnu/packages/gnome\.scm @guix/gnome
gnu/packages/gnome-xyz\.scm @guix/gnome
gnu/packages/webkit\.scm @guix/gnome
gnu/services/desktop\.scm @guix/gnome
guix/build/glib-or-gtk-build-system\.scm @guix/gnome
guix/build/meson-build-system\.scm @guix/gnome
gnu/packages/configuration-management\.scm @guix/go
gnu/packages/golang(-.+|)\.scm$ @guix/go
gnu/packages/syncthing\.scm @guix/go
gnu/packages/terraform\.scm @guix/go
guix/build-system/go\.scm @guix/go
guix/build/go-build-system\.scm @guix/go
guix/import/go\.scm @guix/go
guix/scripts/import/go\.scm @guix/go
tests/import/go\.scm @guix/go
gnu/packages/hare\.scm @guix/hare
gnu/packages/hare-apps\.scm @guix/hare
gnu/packages/hare-xyz\.scm @guix/hare
guix/build-system/hare\.scm @guix/hare
guix/build/hare-build-system\.scm @guix/hare
gnu/packages/dhall\.scm @guix/haskell
gnu/packages/haskell(-.+|)\.scm$ @guix/haskell
gnu/packages/purescript\.scm @guix/haskell
guix/build/haskell-build-system\.scm @guix/haskell
guix/build-system/haskell\.scm @guix/haskell
guix/import/cabal\.scm @guix/haskell
guix/import/hackage\.scm @guix/haskell
guix/import/stackage\.scm @guix/haskell
guix/scripts/import/hackage\.scm @guix/haskell
(gnu|guix/scripts)/home(\.scm$|/) @guix/home
tests/guix-home\.sh @guix/home
tests/home-import\.scm @guix/home
tests/home-services\.scm @guix/home
gnu/packages/mpi\.scm @guix/hpc
gnu/packages/oneapi\.scm @guix/hpc
gnu/packages/rocm\.scm @guix/hpc
gnu/packages/sycl\.scm @guix/hpc
gnu/packages/tbb\.scm @guix/hpc
gnu/packages/vulkan\.scm @guix/hpc
gnu/system/hurd\.scm @guix/hurd
gnu/system/images/hurd\.scm @guix/hurd
gnu/build/hurd-boot\.scm @guix/hurd
gnu/services/hurd\.scm @guix/hurd
gnu/packages/hurd\.scm @guix/hurd
gnu/installer(\.scm$|/) @guix/installer
gnu/packages/java(-.+|)\.scm$ @guix/java
gnu/packages/maven(-.+|)\.scm$ @guix/java
guix/build/ant-build-system\.scm @guix/java
guix/build/java-utils\.scm @guix/java
guix/build/maven-build-system\.scm @guix/java
guix/build/maven/ @guix/java
guix/build-system/ant\.scm @guix/java
guix/build-system/maven\.scm @guix/java
gnu/packages/node-xyz\.scm @guix/javascript
gnu/packages/node\.scm @guix/javascript
guix/build-system/node\.scm @guix/javascript
guix/build/node-build-system\.scm @guix/javascript
guix/import/npm-binary\.scm @guix/javascript
guix/scripts/import/npm-binary\.scm @guix/javascript
gnu/packages/julia(-.+|)\.scm$ @guix/julia
guix/build/julia-build-system\.scm @guix/julia
guix/build-system/julia\.scm @guix/julia
gnu/packages/(kde)(-.+|)\.scm$ @guix/kde
gnu/build/linux-modules\.scm @guix/kernel
gnu/packages/aux-files/linux-libre.*$ @guix/kernel
gnu/packages/linux\.scm @guix/kernel
gnu/tests/linux-modules\.scm @guix/kernel
guix/build/linux-module-build-system\.scm @guix/kernel
guix/build-system/linux-module\.scm @guix/kernel
gnu/packages/lisp(-.+|)\.scm$ @guix/lisp
guix/build/asdf-build-system\.scm @guix/lisp
guix/build/lisp-utils\.scm @guix/lisp
guix/build-system/asdf\.scm @guix/lisp
gnu/packages/anthy\.scm @guix/localization
gnu/packages/fcitx5\.scm @guix/localization
gnu/packages/fonts\.scm @guix/localization
gnu/packages/ibus\.scm @guix/localization
gnu/packages/lxqt\.scm @guix/lxqt
gnu/build/icecat-extension\.scm @guix/mozilla
gnu/packages/browser-extensions\.scm @guix/mozilla
gnu/packages/gnuzilla\.scm @guix/mozilla
gnu/packages/librewolf\.scm @guix/mozilla
gnu/packages/tor-browsers\.scm @guix/mozilla
gnu/packages/ocaml\.scm @guix/ocaml
gnu/packages/coq\.scm @guix/ocaml
guix/build/ocaml-build-system\.scm @guix/ocaml
guix/build/dune-build-system\.scm @guix/ocaml
guix/build-system/ocaml\.scm @guix/ocaml
guix/build-system/dune\.scm @guix/ocaml
guix/import/opam\.scm @guix/ocaml
guix/scripts/import/opam\.scm @guix/ocaml
tests/import/opam\.scm @guix/ocaml
gnu/packages/django\.scm @guix/python
gnu/packages/jupyter\.scm @guix/python
gnu/packages/python(-.+|)\.scm$ @guix/python
gnu/packages/sphinx\.scm @guix/python
gnu/packages/tryton\.scm @guix/python
guix/build/pyproject-build-system\.scm @guix/python
guix/build-system/pyproject\.scm @guix/python
guix/build/python-build-system\.scm @guix/python
guix/build-system/python\.scm @guix/python
guix/import/pypi\.scm @guix/python
guix/scripts/import/pypi\.scm @guix/python
tests/import/pypi\.scm @guix/python
gnu/packages/qt\.scm @guix/qt
guix/build-system/qt\.scm @guix/qt
guix/build/qt-build-system\.scm @guix/qt
guix/build/qt-utils\.scm @guix/qt
gnu/packages/bioconductor\.scm @guix/r
gnu/packages/cran\.scm @guix/r
guix/build/r-build-system\.scm @guix/r
guix/build-system/r\.scm @guix/r
guix/import/cran\.scm @guix/r
guix/scripts/import/cran\.scm @guix/r
tests/import/cran\.scm @guix/r
gnu/packages/chez\.scm @guix/racket
gnu/packages/racket\.scm @guix/racket
NEWS @guix/release
etc/manifests/release-minimal\.scm @guix/release
etc/manifests/release-desktop\.scm @guix/release
gnu/packages/diffoscope\.scm @guix/reproduciblebuilds
gnu/packages/ruby\.scm @guix/ruby
guix/build/ruby-build-system\.scm @guix/ruby
guix/build-system/ruby\.scm @guix/ruby
guix/import/gem\.scm @guix/ruby
guix/scripts/import/gem\.scm @guix/ruby
tests/import/gem\.scm @guix/ruby
gnu/packages/(crates|rust)(-.+|)\.scm$ @guix/rust
gnu/packages/sequoia\.scm @guix/rust
guix/build/cargo-build-system\.scm @guix/rust
guix/build/cargo-utils\.scm @guix/rust
guix/build-system/cargo\.scm @guix/rust
guix/import/crate\.scm @guix/rust
guix/import/crate/cargo-lock\.scm @guix/rust
guix/scripts/import/crate\.scm @guix/rust
tests/import/crate\.scm @guix/rust
gnu/packages/fortran(-.+|)\.scm$ @guix/science
gnu/packages/algebra\.scm @guix/science
gnu/packages/astronomy\.scm @guix/science
gnu/packages/chemistry\.scm @guix/science
gnu/packages/geo\.scm @guix/science
gnu/packages/graph\.scm @guix/science
gnu/packages/lean\.scm @guix/science
gnu/packages/maths\.scm @guix/science
gnu/packages/medical\.scm @guix/science
gnu/packages/sagemath\.scm @guix/science
gnu/packages/statistics\.scm @guix/science
gnu/packages/sugar\.scm @guix/sugar
gnu/packages/admin\.scm @guix/sysadmin
gnu/packages/acl\.scm @guix/sysadmin
gnu/packages/adns\.scm @guix/sysadmin
gnu/packages/antivirus\.scm @guix/sysadmin
gnu/packages/apparmor\.scm @guix/sysadmin
gnu/packages/authentication\.scm @guix/sysadmin
gnu/packages/cluster\.scm @guix/sysadmin
gnu/packages/configuration-management @guix/sysadmin
gnu/packages/databases\.scm @guix/sysadmin
gnu/packages/distributed\.scm @guix/sysadmin
gnu/packages/dns\.scm @guix/sysadmin
gnu/packages/high-availability\.scm @guix/sysadmin
gnu/packages/kerberos\.scm @guix/sysadmin
gnu/packages/logging\.scm @guix/sysadmin
gnu/packages/monitoring\.scm @guix/sysadmin
gnu/packages/nfs\.scm @guix/sysadmin
gnu/packages/openldap\.scm @guix/sysadmin
gnu/packages/openstack\.scm @guix/sysadmin
gnu/packages/prometheus\.scm @guix/sysadmin
gnu/packages/rdesktop\.scm @guix/sysadmin
gnu/packages/samba\.scm @guix/sysadmin
gnu/packages/selinux\.scm @guix/sysadmin
gnu/packages/storage\.scm @guix/sysadmin
gnu/packages/task-runners\.scm @guix/sysadmin
gnu/packages/terraform\.scm @guix/sysadmin
gnu/packages/virtualization\.scm @guix/sysadmin
gnu/packages/vnc\.scm @guix/sysadmin
gnu/build/jami-service\.scm @guix/telephony
gnu/packages/jami\.scm @guix/telephony
gnu/packages/linphone\.scm @guix/telephony
gnu/packages/telephony\.scm @guix/telephony
gnu/services/telephony\.scm @guix/telephony
gnu/tests/data/jami-dummy-account\.dat @guix/telephony
gnu/tests/telephony\.scm @guix/telephony
tests/services/telephony\.scm @guix/telephony
gnu/packages/tex\.scm @guix/tex
gnu/packages/texlive\.scm @guix/tex
guix/build/texlive-build-system\.scm @guix/tex
guix/build-system/texlive\.scm @guix/tex
guix/import/texlive\.scm @guix/tex
guix/scripts/import/texlive\.scm @guix/tex
tests/import/texlive\.scm @guix/tex
etc/news\.scm @guix/translations
po/ @guix/translations
gnu/packages/xfce\.scm @guix/xfce
gnu/packages/zig\.scm @guix/zig
gnu/packages/zig-xyz\.scm @guix/zig
guix/build/zig-build-system\.scm @guix/zig
guix/build-system/zig\.scm @guix/zig
-674
View File
@@ -1,674 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program 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.
This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
-4
View File
@@ -1,4 +0,0 @@
Normally a ChangeLog is generated at "make dist" time and available in
source tarballs.
If not, see the Git commit log at <http://git.sv.gnu.org/cgit/guix.git/>.
-20
View File
@@ -1,20 +0,0 @@
-*- mode: org; coding: utf-8; -*-
#+TITLE: Hacking GNU Guix and Its Incredible Distro
Copyright © 2012, 2013, 2014, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
Copyright © 2015, 2017 Mathieu Lirzin <mthl@gnu.org>
Copyright © 2017 Leo Famulari <leo@famulari.name>
Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
* Contributing
See the manual for useful hacking information, either by running
info -f doc/guix.info "Contributing"
or by checking the [[https://guix.gnu.org/manual/devel/en/html_node/Contributing.html][web copy of the manual]].
-1387
View File
File diff suppressed because it is too large Load Diff
-6654
View File
File diff suppressed because it is too large Load Diff
+3 -125
View File
@@ -1,125 +1,3 @@
-*- mode: org -*-
[[https://www.gnu.org/software/guix/][GNU Guix]] (IPA: /​ɡiːks/) is a purely functional package manager, and
associated free software distribution, for the [[https://www.gnu.org/gnu/gnu.html][GNU system]]. In addition
to standard package management features, Guix supports transactional
upgrades and roll-backs, unprivileged package management, per-user
profiles, and garbage collection.
It provides [[https://www.gnu.org/software/guile/][Guile]] Scheme APIs, including a high-level embedded
domain-specific languages (EDSLs) to describe how packages are to be
built and composed.
GNU Guix can be used on top of an already-installed GNU/Linux distribution, or
it can be used standalone (we call that “Guix System”).
Guix is based on the [[https://nixos.org/nix/][Nix]] package manager.
* Requirements
If you are building Guix from source, please see the manual for build
instructions and requirements, either by running:
info -f doc/guix.info "Requirements"
or by checking the [[https://guix.gnu.org/manual/en/html_node/Requirements.html][web copy of the manual]].
* Installation
See the manual for the installation instructions, either by running
info -f doc/guix.info "Installation"
or by checking the [[https://guix.gnu.org/manual/en/html_node/Installation.html][web copy of the manual]].
* Building from Git
For information on building Guix from a Git checkout, please see the relevant
section in the manual, either by running
info -f doc/guix.info "Building from Git"
or by checking the [[https://guix.gnu.org/manual/en/html_node/Building-from-Git.html][web_copy of the manual]].
* How It Works
Guix does the high-level preparation of a /derivation/. A derivation is
the promise of a build; it is stored as a text file under
=/gnu/store/xxx.drv=. The (guix derivations) module provides the
`derivation' primitive, as well as higher-level wrappers such as
`build-expression->derivation'.
Guix does remote procedure calls (RPCs) to the build daemon (the =guix-daemon=
command), which in turn performs builds and accesses to the store on its
behalf. The RPCs are implemented in the (guix store) module.
* Contact
GNU Guix is hosted at https://codeberg.org/guix/guix/.
Please email mailto:help-guix@gnu.org for questions. Bug reports should be
submitted via https://codeberg.org/guix/guix/issues/. Email
mailto:gnu-system-discuss@gnu.org for general issues regarding the GNU system.
Join #guix on irc.libera.chat.
* Guix & Nix
GNU Guix is based on [[https://nixos.org/nix/][the Nix package manager]]. It implements the same
package deployment paradigm, and in fact it reuses some of its code.
Yet, different engineering decisions were made for Guix, as described
below.
Nix is really two things: a package build tool, implemented by a library
and daemon, and a special-purpose programming language. GNU Guix relies
on the former, but uses Scheme as a replacement for the latter.
Using Scheme instead of a specific language allows us to get all the
features and tooling that come with Guile (compiler, debugger, REPL,
Unicode, libraries, etc.) And it means that we have a general-purpose
language, on top of which we can have embedded domain-specific languages
(EDSLs), such as the one used to define packages. This broadens what
can be done in package recipes themselves, and what can be done around them.
Technically, Guix makes remote procedure calls to the nix-worker
daemon to perform operations on the store. At the lowest level, Nix
“derivations” represent promises of a build, stored in .drv files in
the store. Guix produces such derivations, which are then interpreted
by the daemon to perform the build. Thus, Guix derivations can use
derivations produced by Nix (and vice versa).
With Nix and the [[https://nixos.org/nixpkgs][Nixpkgs]] distribution, package composition happens at
the Nix language level, but builders are usually written in Bash.
Conversely, Guix encourages the use of Scheme for both package
composition and builders. Likewise, the core functionality of Nix is
written in C++ and Perl; Guix relies on some of the original C++ code,
but exposes all the API as Scheme.
* Related software
- [[https://nixos.org][Nix, Nixpkgs, and NixOS]], functional package manager and associated
software distribution, are the inspiration of Guix
- [[https://www.gnu.org/software/stow/][GNU Stow]] builds around the idea of one directory per prefix, and a
symlink tree to create user environments
- [[https://www.pvv.ntnu.no/~arnej/store/storedoc_6.html][STORE]] shares the same idea
- [[https://live.gnome.org/OSTree/][GNOME's OSTree]] allows bootable system images to be built from a
specified set of packages
- The [[https://www.gnu.org/s/gsrc/][GNU Source Release Collection]] (GSRC) is a user-land software
distribution; unlike Guix, it relies on core tools available on the
host system
* Copyright Notices
GNU Guix is made available under the GNU GPL version 3 or later license, and
authors retain their copyright. For copyright notices, we adhere to the
guidance documented in (info "(maintain) Copyright Notices"), and explicitly
allow ranges instead of individual years. Here's an example of the preferred
style used for copyright notices in source file headers:
#+begin_comment
Copyright © 2019-2023, 2025 Your Name <your@email.com>
#+end_comment
Meaning there were copyright-able changes made for the years 2019, 2020, 2021,
2022, 2023 and 2025.
This “orphan” branch contains the keyring of the Guix project: the OpenPGP
public keys of all the Guix committers ever. It is used to verify signatures
on Guix commits. We only ever add new keys here.
-1
View File
@@ -1 +0,0 @@
README
-82
View File
@@ -1,82 +0,0 @@
-*- mode: org; coding: utf-8; -*-
#+TITLE: Tentative GNU Guix Road Map
Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
The goals of the GNU Guix project are two-fold:
- to build a purely functional package manager, based on Nix and
Guile;
- to use it to build a practical 100% free software distribution of
GNU/Linux and possibly other GNU variants, with a focus on the
promotion and tight integration of GNU componentsthe GNU system.
Since its inception, the project has gone a long way towards that goal. Below
is a list of items we want for version "1.0" of the Guix System Distribution.
There will be a few 0.x releases by then to give the new features more
exposure and testing.
You're welcome to discuss this road map on guix-devel@gnu.org or #guix on
the Libera Chat IRC network!
* Features scheduled for 1.0
- larger & more robust build farm
+ we need a powerful, dedicated front-end
+ armhf-linux build machine
+ leave Hydra in favor of 'guix publish' + custom code?
- more OS features
+ LVM support
+ encrypted root
+ configurable name service switch
+ whole-system unit tests, using VMs
- more service definitions
+ mcron, postfix(?), wicd(?), etc.
- better 'guix system'
+ 'reconfigure' should be able to restart non-essential services
+ support for '--list-generations' and '--delete-generations'
- better 'guix pull'
+ using Git to fetch the source instead of re-downloading everything
+ build more quickly
+ install new .mo files and new manual
+ authentication of the Guix source: use signed commits?
- simplified, purely declarative service list in 'operating-system'
+ it should be possible to inspect the service instance declarations and
settings
- GUIs
+ integrate guix-web?
+ guile-ncurses installer?
- 'guix publish'?
* Features for later
- complete GNU/Hurd port
- use content-based addressing when downloading substitutes to reduce
bandwidth requirements
+ design nar v2 format where file contents are replaced by their hashes
+ leverage /gnu/store/.links
- binary origin tracking
+ keep signatures in sqlite.db
+ preserve signatures upon import/export
- peer-to-peer distribution of updates (GNUnet?)
- more deterministic builds
+ identify & fix sources of non-determinism in builds
+ strengthen guix-daemon containers to further increase reproducibility
+ trusting-trust: bootstrap with different tool chains
+ fixed-point: re-bootstrap until fixed point is reached
+ distributed validation: compare contents of store items with others
* resist a hydra.gnu.org compromise
- reproducible containers: mix of 'guix environment' and 'guix system vm'
- execute code with least privilege
+ build containers like guix-daemon does
+ provide a Plash-like interface in Bash
- daemon rewritten in Guile
- more shepherd integration
+ monitor network interfaces and start/stop events based on that
+ include a DHCP client written in Scheme
+170
View File
@@ -0,0 +1,170 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
ZPFE
=c1wa
-----END PGP PUBLIC KEY BLOCK-----
+52
View File
@@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
fCnIDNs57Q==
=JaPp
-----END PGP PUBLIC KEY BLOCK-----
-53
View File
@@ -1,53 +0,0 @@
A big thanks to Eelco Dolstra, who designed and implemented Nix.
Transposing functional programming discipline to package management
proved to be inspiring and fruitful.
Thanks to the following people who contributed to GNU Guix through
suggestions, bug reports, patches, internationalization, or general
infrastructure help:
Lluís Batlle i Rossell <viric@viric.name>
Sylvain Beucler <beuc@beuc.net>
Carlos Carleos <carleos@uniovi.es>
Felipe Castro <fefcas@gmail.com>
Daniel Clark <dclark@pobox.com>
Alexandru Cojocaru <xojoc@gmx.com>
Aleix Conchillo Flaqué <aconchillo@gmail.com>
Malcolm Cook <MEC@stowers.org>
Thomas Danckaert <thomas.danckaert@gmail.com>
Rafael Ferreira <rafael.f.f1@gmail.com>
Christian Grothoff <christian@grothoff.org>
Eric Hanchrow <eric.hanchrow@gmail.com>
Konrad Hinsen <konrad.hinsen@fastmail.net>
Brandon Invergo <brandon@gnu.org>
Anders Jonsson <anders.jonsson@norsjovallen.se>
Jeffrin Jose <ahiliation@yahoo.co.in>
Kete <kete@ninthfloor.org>
Daniel Kochmański <dkochmanski@hellsgate.pl>
Matthew Lien <bluet@bluet.org>
Dave Love <fx@gnu.org>
Chris Marusich <cmmarusich@gmail.com>
Niels Möller <nisse@lysator.liu.se>
Cyprien Nicolas <cyprien@nicolas.tf>
Yutaka Niibe <gniibe@fsij.org>
Andrei Osipov <andrspv@gmail.com>
Petter <petter@mykolab.ch>
Adam Pribyl <pribyl@lowlevel.cz>
Pjotr Prins <pjotr.public12@thebird.nl>
Yakkala Yagnesh Raghava <hi@yagnesh.org>
Joshua Randall <jcrandall@alum.mit.edu>
Bruno Félix Rezende Ribeiro <oitofelix@gnu.org>
Benno Schulenberg <coordinator@translationproject.org>
Thomas Schwinge <thomas@codesourcery.com>
Alexander Shendi <Alexander.Shendi@web.de>
Alen Skondro <askondro@gmail.com>
Jan Synáček <jan.synacek@gmail.com>
Matthias Wachs <wachs@net.in.tum.de>
Christine Lemmer-Webber <cwebber@dustycloud.org>
Philip Woods <elzairthesorcerer@gmail.com>
GNU Guix also includes non-software works. Thanks to the following
people who contributed the logo and general artwork and themes:
Nikita Karetnikov <nikita@karetnikov.org>
Felipe López <felipe.lopez@openmailbox.org>
-124
View File
@@ -1,124 +0,0 @@
-*- mode: org; coding: utf-8; -*-
#+TITLE: What's left to do?
#+STARTUP: content hidestars
Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
* MAYBE Add a substituter that uses the GNUnet DHT or [[http://libswift.org][libswift]]
Would be neat if binaries could be pushed to and pulled from the GNUnet DHT or
rather libswift (since DHTs arent suited for large payloads). Guix users
would sign their binaries, and define which binaries they trust.
Use UPnP and similar to traverse NAT, like filegive does.
* user interface
** add guile-ncurses interface
* extend <package>
** add recommends field
For instance, glibc, binutils, gcc, and ld-wrapper would recommend each other.
guix package -i could ask interactively (?), or allow users to follow all or
none of the recommendations.
** add a user-environment-hook
This should specify builder code to be run when building a user
environment with guix-package. For instance, Texinfos hook would
create a new dir.
** extend propagated-build-inputs with support for multiple outputs
#+BEGIN_SRC scheme
(outputs '("out" "include"))
(propagated-build-inputs
`(((("i1" ,p1 "o1")
("i2" ,p2))
=> "include")
("i3" ,p3)))
#+END_SRC
* synchronize non-GNU package descriptions with the [[http://directory.fsf.org][FSD]]
Meta-data for GNU packages, including descriptions and synopses, can be
dumped from the FSD:
http://directory.fsf.org/wiki?title=GNU/Export&action=purge .
We could periodically synchronize with that.
* add a guildhall build system
The Guildhall is Guiles packaging system. It should be easy to add a
guildhall-build-system that does the right thing based on guildhall
recipes.
* union
Support sophisticated collision handling when building a union: honor
per-package priorities, etc.
* add GUIX_ALLOW_EXPENSIVE_TESTS
Tests that need to download stuff or otherwise take a long time would only be
run when that is defined.
* guix build utils
** MAYBE Change ld-wrapper to add RPATH for libs passed by file name
** MAYBE Add equivalent to chrpath that uses [[https://gitorious.org/guile-dlhacks/guile-dlhacks/][guile-dlhacks]]
** MAYBE Add a hash-rewriting thing for deep dependency replacement without rebuild
See [[https://github.com/NixOS/nixpkgs/commit/d1662d715514e6ef9d3dc29f132f1b3d8e608a18][Shea Levy's `replace-dependency' in Nixpkgs]].
* distro
** port to GNU/Hurd, aka. i686-gnu
Problems include that current glibc releases do not build on GNU/Hurd.
In addition, there havent been stable releases of GNU Mach, MiG, and
Hurd, which would be a pre-condition.
* Installer
** Fix impossibility to restart on error after cow-store has been started
See https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00161.html.
- Force reboot upon installer failure
- Unshare the installer process
- Run the installer process in a separate namespace
** Partitioning
*** Add RAID support
*** Add more partitioning schemes
The actual schemes are taken from Debian Installer but some are not
implemented yet: like "Separate partitions for /home /var and /tmp".
*** Replace wait page "Partition formatting is in progress, please wait"
Create a new waiting page describing what's being done:
[ 20% ]
Running mkfs.ext4 on /dev/sda2 ...
[ 40% ]
Running mkfs.ext4 on /dev/sda3 ...
*** Add a confirmation page before formatting/partitioning
** Desktop environments
*** Allow for no desktop environments
Propose to choose between "headless server" and "lightweight X11" in a new
page.
*** Add services selection feature
Add a services page to the configuration. Ask for services to be installed
like SSH, bluetooth, TLP in a checkbox list?
** Locale and keymap
*** Try to guess user locale and keymap by probing BIOS or HW (dmidecode)
** Timezone
*** Regroup everything in one single page
Under the form:
(UTC + 1) Europe/Paris
(UTC + 2) Africa/Cairo
...
** Display issue
*** Investigate display issue described here:
https://lists.gnu.org/archive/html/guix-devel/2019-01/msg00305.html
+110
View File
@@ -0,0 +1,110 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=EyBc
-----END PGP PUBLIC KEY BLOCK-----
+112
View File
@@ -0,0 +1,112 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
aqt8u5BPGC7qb6oikKM=
=X0wP
-----END PGP PUBLIC KEY BLOCK-----
+22
View File
@@ -0,0 +1,22 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEW9wl+BYJKwYBBAHaRw8BAQdAurhrcJpShB9c6LjA10W25nH06B7+rC7Nha1V
ba9Jo3G0IkFsZXggVm9uZyA8YWxleHZvbmcxOTk1QGdtYWlsLmNvbT6IlgQTFggA
PgIbAQULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBOx5gmSisiCOEHk4nl/xWAk6
4/s4BQJb3CnABQkCL/NKAAoJEF/xWAk64/s4bHEA/RYaH1dxst2MIVuHZQg0VWuj
m7cWKTqzUasHhAkEi83eAQDq3b0LI5bPo5H2eYmeoULDUTJpuihi692H0luJRi6O
B4h1BBAWCAAdFiEEqH9mXV5BNBTOWlOF865L2yPs2hsFAlvcUbYACgkQ865L2yPs
2hsKdAD/XSsEETKmG5H597axepu6zUi8VnzEXRgUGMz4Gh1S9PkBALnlSMINOACE
2nMLnJnPrn3mebMZPLCvFJ/OMW1ugvUFuDMEW9wm0RYJKwYBBAHaRw8BAQdAk2ez
QR8X4VTHUVUiUDCeiBqnQaQWT5hq0Uj+p3VxaC6I9QQYFggAJgIbAhYhBOx5gmSi
siCOEHk4nl/xWAk64/s4BQJb3CnTBQkCL/JwAIF2IAQZFggAHRYhBDBvy48sAcJd
KdMFVmHvUC72AlLyBQJb3CbRAAoJEGHvUC72AlLyAtwA/j8hOb1n52PJ+ql+vYfN
E7dG7KAnN3yUW2NOAMkiN/qzAP4/QTDzBX1l0V6EUo8m6ozQFRLsDTYbEmb9OXrX
vCrpCAkQX/FYCTrj+zhWcAD/XFQnM1bdBKGnMxxI8fQRteaRS4WGt4qhW+CrJ6Jp
DIQBAKtU4vXg9hWlgHgvKXqSEEFm8HyGh/9jx/OoJSfKiLUHuDgEW9wm8BIKKwYB
BAGXVQEFAQEHQHWQ4hmlimFlV1kHTzNeEZ7OH1YxL8GtF5fSNeC2iAB+AwEIB4h+
BBgWCAAmAhsMFiEE7HmCZKKyII4QeTieX/FYCTrj+zgFAlvcKeoFCQIv8lAACgkQ
X/FYCTrj+zhYEgEAqflYQ6CHMbxZfiG1shTFx6rj7RjD9FqzN2bgefw4dDIA/20a
jPZhWiOxJFj8dk+LST8x8vTktqIJwnsNy0rxeugN
=bApJ
-----END PGP PUBLIC KEY BLOCK-----
+44
View File
@@ -0,0 +1,44 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=E8mu
-----END PGP PUBLIC KEY BLOCK-----
+81
View File
@@ -0,0 +1,81 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=SWD4
-----END PGP PUBLIC KEY BLOCK-----
+43
View File
@@ -0,0 +1,43 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
y63vnx/jt5aE6zbSm/QZPTxn3hSVmA7zdw==
=IApS
-----END PGP PUBLIC KEY BLOCK-----
+122
View File
@@ -0,0 +1,122 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
CitZrazL0TshmAveJ+txLlujAB+TQb4=
=tjy+
-----END PGP PUBLIC KEY BLOCK-----
+60
View File
@@ -0,0 +1,60 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=OQSj
-----END PGP PUBLIC KEY BLOCK-----
+157
View File
@@ -0,0 +1,157 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
9REKVGCYlTkgaMg=
=Y6Uz
-----END PGP PUBLIC KEY BLOCK-----
+174
View File
@@ -0,0 +1,174 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=4xbz
-----END PGP PUBLIC KEY BLOCK-----
+62
View File
@@ -0,0 +1,62 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
I2E7RxUJVs3RxJoJtA==
=7Bob
-----END PGP PUBLIC KEY BLOCK-----
+451
View File
@@ -0,0 +1,451 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
Oc/V3vQolFE5pC2nGyryCb7aTemCGYZ3euQbAHpSKC7IDSVs7VI+eYVTPT+spJeY
xf7ZeGDiHApCqnL/z2lNX45CKPgHaV137QgLWLLwWGxkIf8xAK2ags0n5Q73LPT2
dyPzcnhAN6sipjDEwamgr4lbZAkzQoIYKo9d4ao26g9jF8SeFH0PPPJyYGNKxSGV
abKZYTTpPI6UgtZaKpmRlshYmwGWLokCMwQQAQgAHRYhBHoYgH8QCkVwxZaEIH5O
ZchyC3BrBQJebYIoAAoJEH5OZchyC3BrtqYQAJfwdA9el3n6wNC/q4GfRFD/tg43
Qnh5PBAyL7LJ8L47ffAQ+MQgL2anGHbKIAXpUd+8j9/Wuxpf1Catp5ZqHv/PCTwT
yb2Xbb5INTHSrRH3FZaUOQ2+krnoQs0iBXHYZ9tluFu0QGR3j/byW0MY87nF5Dvy
3rEXBiZXA8K7VmXdqH1ergGtQJuR8aHX52P7s8kXI/60AcKtTjApKkvKvRbv2WJF
AszEx8LO06cWJk7V4RsQyw+b9fW2nesD1fSjTCsVDXQNujW/G4twqL6Nwgk0qpj/
diZwuVnPt0i47Ma0i71nXwdCWBEX3p0TfbgR7wI6XX+sEHpTQkWxs6085jhwIrwX
sde5vu7wOMgNDN/mmt4Cp6yQkqDmefJWt8wSFk3XAZDJFd8PMqjL+pOAwWKBfpYY
euKGy5+du7IL1btXlY/leWLIuemHGdOlXQX/7qvWbfp0zYqO2IEsR86vlL/UbRzB
de6lamiJzpxmzJ9zPxq6Ez4KDuxvk2T147Z7HwNzK+7ooh2u4t913DOToOnGleUM
Xz6VhAIpzYJPH8O+wXnWonPMNjq4FJAQ2KuGBdPnwPR9FhQtoPMbR+52hspxsZRP
BZkF9oFKBp22fCUAmqFAE7ss96AAykFU09IFoRrLd3qVWrWaTYkl38cZXlgQ+kL2
lWrwur3iEVDC01++tCtBbWluIEJhbmRhbGkgPGFiYW5kYWxpQGNzY2x1Yi51d2F0
ZXJsb28uY2E+iQJVBBMBCAA/AhsBBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgBYh
BL5ic3OOYW1tGzoI6KIaAgJIgWEDBQJecqebBQkHhWfIAAoJEKIaAgJIgWEDHDYQ
AJ66mn59KBnTcCYO3YaQ4YYggRIfTVPYvW7xsnTTn64Hiu+xwaUz9rQRFJCocf61
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
=T+4B
-----END PGP PUBLIC KEY BLOCK-----
+125
View File
@@ -0,0 +1,125 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
gec=
=fLn6
-----END PGP PUBLIC KEY BLOCK-----
+29
View File
@@ -0,0 +1,29 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFgAga0BCADIY78eSt/I4vGPo/UMBMQhcM8O2tptvlN0B2F6Z8sDAOwgWnQp
d0x2AVM8I39VymnmbEQfWf/Y0U9XJqrmOz91NreTsZUsR9BSZy1fVIUbdoQTI8m8
CGpjDBnloX+cQwwDPDS2RL2/a0rZciXUMunVvM/o2zLHUIyO/GeoqKN5mU4d4nZY
PHtBOBpmzfvfyZLM1uyu/flbKGFqW0uKmS8MQWhyUdvIsiAU/Aofuf0dVp2C/Z5w
01Vyw38fReZ20onxbabSjLrOT+K6vzrV/9P+6435Ptoek+5BoQX50f+cMYq4d2rE
2PBenDy4xAloL/qOUj6XqwW9ZWAkLLiqYiJdABEBAAG0LkZlZGVyaWNvIEJlZmZh
IChOb25lKSA8YmVmZmFAZmJlbmdpbmVlcmluZy5jaD6JATgEEwECACIFAlgAga0C
GwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEFiTbg4vG1pMn44IAMKLId+i
81Qp15Tn+VQQqxp5hI5IK2UpkzD4TnjAfX2AO9ao5fyCGKU0tWopUY4xjtU/YH9C
A9eqfmo46PTU5AFssfTly9sxtNGKhWhViBlfNHH19W3I4eF7OwN1tRon/QacCDkj
iUwElyE03/H/IPk5TB25tRmqpcoM4VrHjLIkVvmQOFOeItFKWg6jARY0x09KcHKp
P+Q3SVdS+3JTrO97xhMjAaPByiRgrjGCYTnh9MIPl/ANJFIlJVx8R1ZqeGUJBd2E
Or6RkG34WpSC/tdfI9vxajlAHAUAIoUNq6Jn7LvVLGcnZXcoE4gU8oBtXkr79SUd
42S6HC+S/XeRHfy5AQ0EWACBrQEIAMsqA2oLmPYfdE1uhsOfDDrt72Lx7BADKqhz
k8Nqny45ISPe03MjOkVUwuClceuZDGByZ/u7fslcWvAzcjcLDO4thWj1a9s1PUmH
5evVBfFQNaHaZ5gdRdIuE+O/Vkv+pbbcR1zckBSj4PCZCBF2rQgukxNaeRB4rTAC
0VgozLRK/OgDV8nyCA/0Lx1GAFoUj+KgIIUI0mPQzPuCMJHBoOVoWQit9qANTQN0
89P/6r8dj/3AVPnUmnpENul1gtxa2k7ck9F9hH7ePD3djL2tYtQcH720eqrV70Kd
gSp7Q/N4Kujw7b9RgNmo2cUuTkRfiqR+grp7XR9BD552haU8a5EAEQEAAYkBHwQY
AQIACQUCWACBrQIbDAAKCRBYk24OLxtaTBr5B/4vmneqSuuMYmWcurgk2sv+WKky
81Q0z4OkXfwBVz+H6wdpmij0de6ZMbFqD6GjtsAMmEXKdQtbElcryibSXJSCcF6z
d534yOdkC0ptOH09thCE8SoZQ6QLQ+wkcqqCBQSNujN+TNG3L7a50p91wLg1AXYX
F+cOJ2bND8p3g5RjxGk4EEjTHycc9BMA1SRvAZsJG7WB63q1oKPwdVPy7FnNvV6H
OR1DJeh4Fkmq0cJCoQ6AOQ4AhVBRXv74XT+rnjVblT3ISSEyneF4IfsztGboIzac
7M/2czPyFWuID9mjiEcRbormFsV0Pz3huJ4AMlmCb/96ZKPAWQYVa7EmPy5Q
=SMJ5
-----END PGP PUBLIC KEY BLOCK-----
+29
View File
@@ -0,0 +1,29 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFhmClEBCACWlMzAd3Nm5WD8wwVcZB4mMGJNK41tOKvFxLTpQBuVLSU8Oebv
zzJx6cWTAylqMOEtI1K4q3BtxvQ9L7ofkY/N8tVRO0zSTjFhYaFYrpNAF4TY5pSa
RTjeCp1FOU+2dR50LC7ev3p8TWSDPITdzXAhTBPRNIy1zBRNo/2FkwHktSov3W51
Ej9f/g5iIuy2yVSwPzqxynXErgmwILXa3j40ZYXj1jEFeBoeLGzSPVbeFLknvS8B
4yMx6JLVvvK+IilKzFZ97kFcnYVVx8HvyyZZLYwGapI0BSWSK4GWt1SBt4KVEREZ
38SVtyGsCSX5PBBzv/zy+gO3HOsrXGzz0RbdABEBAAG0JkJlbiBXb29kY3JvZnQg
PGRvbnR0cnVzdGJlbkBnbWFpbC5jb20+iQE3BBMBCAAhBQJYZgpRAhsDBQsJCAcC
BhUICQoLAgQWAgMBAh4BAheAAAoJECpq2fSqwg32OuEH/iMyKHsHrS4upCAl+JBy
Bq4H7MWnZQYC/f4hc1RX1WKnVYZRYuX4GTZYR+sE3J60kpdhv3ZPby5Q8mNyZXkH
wf3sF8oNpqWK5LVdM32UChMQK7L7VTkMNG7lPAq1hfS0iLiaaDN366iQNv62u4eB
8dw933877jkeobr8hnTaBNmUf2s9eJm23Cmk81DNaEFLsIvVMEcmuiz4x8rLYG+7
o8usK7n684OI2DV0k90Xn876VZtFUg9PDxnHixlvzETo2D+C6HIIx8660YJHnogr
jNEP6Wj0CT1MoiZ/dMZepY1k+uNeyreSuXv2w/Y2qzbRM34ccXArYNyFV/a5KyAJ
i9e5AQ0EWGYKUQEIAMAnzONTpBbvK9KZ2cHh+zwAF83VDl3V6EVANbQWBV39V7Rh
+Dmpuro9RqZ5VyGD94nFyeUUIFUO8Uy8wT9CW9A7FD1zFe38bhb7oC0K1XeGYm/0
WMadUb3Zp42T2KCbWN4agH9B3CwhJ/WJEM5fRpTfGq2HMq5LGlLs0AlPCli582MJ
81tmoSzdnauVdtm+4llWCk/trpCag5TUed1pHFooOKIqSDmCnLei2cuXODj5Bdt1
O3yTErBRLZcHc/Ep32DYNDqlbyeWL1KDHj4Ckc4ietX/jqpExko/RuCIhBR1niKA
AYT3P31p82oPvX9Mz4Ro5nbdzeYfjODCljp3+AMAEQEAAYkBHwQYAQgACQUCWGYK
UQIbDAAKCRAqatn0qsIN9mn0B/48T6WI2PDGn79woGBoG6VWvV3JWrXW+tA45Zy/
XVEdSuDvFhMHZYwlFMr3ckhaX5Zi7NuHATIwONekIjtLusf8ievFbR4Ez4DzoN8h
FSe00vh0C0xaOzEkufPjanbtyVCfJgGPdHJ8alB4Wxq6INvg/UBrRW4sqEikaogk
52VCdLtLp5MnhJkmMIn0BvHkOyFs2DdKa/uld85cBwLiwSQpi4nj8EVIG77gYR5S
lSmS9m65DZYp2/r2x9b8uqkc40a/USdpP/M41Kj67iHnYcQrl6/9O2i1dYMONBql
60488V4ArDgWSZn3X5jO45flYE2S1mUc3vzfRl02Ms/JV+u5
=mgGB
-----END PGP PUBLIC KEY BLOCK-----
+185
View File
@@ -0,0 +1,185 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
ugGwG9zObyWr6mj4fFA8ureXYA==
=1FKf
-----END PGP PUBLIC KEY BLOCK-----
-33
View File
@@ -1,33 +0,0 @@
#!/bin/sh
# Create the build system.
set -e -x
# Generate stubs for translations.
langs=`find po/doc -type f -name 'guix-manual*.po' \
| sed -e 's,.*/guix-manual\.,,;s,\.po$,,'`
for lang in ${langs}; do
if [ ! -e "doc/guix.${lang}.texi" ]; then
echo "@setfilename guix.${lang}.info" > "doc/guix.${lang}.texi"
echo "@include version-${lang}.texi" >> "doc/guix.${lang}.texi"
# Ensure .po file is newer.
touch "po/doc/guix-manual.${lang}.po"
fi
done
langs=`find po/doc -type f -name 'guix-cookbook*.po' \
| sed -e 's,.*/guix-cookbook\.,,;s,\.po$,,'`
for lang in ${langs}; do
if [ ! -e "doc/guix-cookbook.${lang}.texi" ]; then
echo "@setfilename guix-cookbook.${lang}.info" > "doc/guix-cookbook.${lang}.texi"
# Ensure .po file is newer.
touch "po/doc/guix-cookbook.${lang}.po"
fi
done
autoreconf -vfi
# Replace Automake's build-aux/mdate-sh with build-aux/mdate-from-git, our
# own, reproducible version.
chmod +w build-aux/mdate-sh
rm -f build-aux/mdate-sh
ln -s mdate-from-git.scm build-aux/mdate-sh
+51
View File
@@ -0,0 +1,51 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFigqSwBEACeHs5hshny8Rmui7q5KpzwE41uxWjQRm95glFf015VA/gU0IPl
TQRviU2I5yfHf0yvQyUyf8otTn3htBHWuZQ6Xl4xfyEN3+6M/hyx79UxBCMXfwH/
rABTb+N2/hxLmFidsX8MFFv3CMsW6EQ7Ay7VgK/YmuPOc5+EEeJ4Nu/Ghl+Blggl
t5RYvFfvvQ46FDkD2ZTHEHoqnbDk5tEAsZmGa2GnOZzQz0T0N6Bsw3NRC2TaZYG5
Z6EBeABcgEGVT5hShgHvzfe0sRPqG8Ixm1R9mLXML0Nv/0rP6RifgJe4qy8/IWHv
ys1Pt74IxtW0k7harDCNhDWu8o3XSh8Iba2N8pm4TO509hwsltstrcRBurMwxyHx
37nojNqdcUc8simKMdgPDoWGMCxNqBs0uQusN4Csn7E+ZoNfRNP6DRQUJzXvMzGF
Mm9gumtG9mkbMfNzmTVRrb7Trup6LefoxOydNlCinSfTQQCkBMaehjGBlLxlGbF5
1KvpovIzkz6UbT4iA3X/MmtA15IrDK7uDNGBqvAY5NgxI9oLEdsAWcjKZvWuBjkr
Lru2Ko7lI88mz54tCQ08YrcpG2ZNxSqv6BAh8sfgBtieR4sA9Ox6lRzGkqZXWMdQ
Wwi69mFUqNgRl29zL00oVfKM4vH6Sog56eSixS09qm0/ih/9e/8ziIQMVwARAQAB
tCZHw6Fib3IgQm9za292aXRzIDxib3Nrb3ZpdHNAZ21haWwuY29tPokCNwQTAQgA
IQUCWKCpLAIbAwULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAAKCRAlBqlsz2MLIcCf
D/40ykhaDyuaaebaLLyeLfXZuqMNwmKdqi5Z6X441jukywgCOy98K+8wHEdx3hTh
18Z/rTt8j1Uux8acjlZvEgyFilaBd+WpNOvnJ1M5F25S5K0VKNK70FzJ5jipBjZQ
2kge2Eb9Pp+zJw5c2T6b7v95r4a/snQIyRX87VP8S/XNz68wWjwp7H3VgR8W3kjf
tHwIWB3yv5/3/P5E6RnTXTGrx9STm10EkN6SCUN0BIhYExwZrmFOQrHSmZHWpJWO
hmH51q8I0njj90ByUgY4cg00ED6xgQswHYjjW10v9epV6Acoel1SAme2Hh+/FN1C
r6CURhDjVxJ9G2YfTeM4kk2bvDsExIUC38SAEpRBF62K5kfLpE6Hby9w3Soa+hq/
p5UkEnM1AyWTMu7bhY/jPP3uNLIJEJWXdzm//O8zXlXp5WPflZvbt4b8FriiMRud
CX6a4jqEEcCNLbmiFFGzm3hvHiYXt9nR51u3wtrSXzI2bZWlaiOUxJ0GXLysIVWT
0+6YktgDpGkD++CKzKG4JAhvNvPW/BBSp+0VXt8IZ2Zff1dWPmMQAwAoqCPE5FHW
m0SxiLXhcZuU5dS/Prmx7bEhnDwGPwXReg/JVbd7rxPF9eIRqtlPpk+TMcJRn9wS
UAuwMaLAG9jUte9C6ua/6d9o8pUxZnEeJdMm6+B8/HfI7LkCDQRYoKksARAApJws
PL66IFz5GO2wF03Hb9LJeDwY5exTUYIPcq5jFgiUuirvXLPB51bRSoV3AaoVg+Gx
n12u3QRPOiA7KFB2DOrCcGMI6B1hthiMc+bjbkRvQlUQd5YIdVH0U9wKEJSd5kHZ
HTGShhR+//pbyKOh0M8QDiYIGvAylazytU+yhiH/M+hjD+jX4wRGL7GvIzumHSTc
d2bip1vA9pN+2TwW1h3xFlq0rtuGEEUhTcd9kEA3BGLFo2KsgtCfFE3OiTxUSse0
NpyTXoIolOJwdcJHkb8V7hoIZmkoESxheczdqf+KkQVmgMqQsWbPJyMQnlSzaBnd
il8vJDLWT36XIDZNkTclzJhXMMqIb7zR6WG253TxJwp3yhriB+47t+/qNDa15meT
JwE+pKBe0x7odm+AKkh6r5cPXn1ePvWYK803NqU3cgDoR++vSUz0ilgU7yVMZCvZ
q7uJedNouwVpGlU19mXlEdEPmODSOlxVcmYp2lnVrFJZ03EJn+54Ced1HZ4TFqme
4oXfIX1H383KbMj7sf4J9mUS5HpyduwQIRaK5T1kFJetiRvupbImHOVWquIMqrpe
IYliG//xFnGmf63llI44XoccPJpqp/79g4/lF1qUVNwBdccvNVeQK5maMKiUpPGi
YGMrfrUUcu7HNwLlpx57RJ7nruWBLpuvoazJ1e0AEQEAAYkCHwQYAQgACQUCWKCp
LAIbDAAKCRAlBqlsz2MLISccD/9vrBuv6sIC49swaBBD8XEsEXrkAyOH0ze6DAxS
UtZY/aUPCYNSEk/tqdUtOFq17rgfhlSb/zTLe7LQgJG3QrkDge2uW8CmmVOpby0X
+I4esX/kfliVI0sXSTPiDTxITib/xaEhyFEP9T3p+HI7n/au2vNOhxW9/GRpqoQN
qApQ3N6LpaLgUbMNYUSjuM9kGO4qva/l3l9bM3XIg2Wa5GE6FHQ4Qs9QxLcdkLMB
eMMgDbI+5sMwfsl5umC16B2SL+JrY+kc+pIlwRA6jq2z4zCbrtJok7518iAqfQRO
ip0Ycv2cFx7wNVEXouA01OpxD/cg3Eb3fKZKHeUga5fkJ/WwheLrixkkhngTwpTL
FHcpEBju+0ljTa8K+Yzu2SEC3kvi9iqCD6mClpo+j1n6A0Ird+ZYlaT5Vt7PihDM
6vX3gsXfEIVPRTWnEp9hOwO6GEk/WcVAFgRK/0Jdmh4crZTy7SrahubHkQPbmyWy
3v51Si/xLrgyWrJmkO63ykDpgL9OTfBF5G9AXXIOeZAjsALydM503DHRVuRFTLgr
gOqVVW0b3K6/JiJF7wyFEW/snGBvX4ZDCUpLzUrpSfRsh/QnF6goKFa5bLhL6Xw6
pSJfCLADNf4ZFr0E8w2i4VN1Gd8TJz/8NUWIBlaxLqb31feIxh4XZ5qyMfHYUMdZ
S96bMw==
=UgjY
-----END PGP PUBLIC KEY BLOCK-----
+52
View File
@@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
ihtSniwGIQ==
=75zi
-----END PGP PUBLIC KEY BLOCK-----
+31
View File
@@ -0,0 +1,31 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBF8JTDABCADIOK7ciRg/PGLYj8MRQa5SLuAgrcrJITXUI9cKOfJGtTJPGzLL
LrDD8RmkOU82GY3lFjkQ+MzQApT1NtBJe700G+kPhBGoSiDZCsEMJp0EepA+RhOH
EOybYHT5b83o3Yh1hfKnhJLhMfUmexuvwhxZs7baHSKnUAq0pJzv/YtyGYX7uqiM
50JmEoLazXrRyl61clofOfGgFid4BQssV+IeTb0v5r7l4Qv5PU1XQqvO30Hk8+2x
y/pBv0uJuNJUqtiaORm0caJjLp0rc76/E945Jh8n6e/NEOnmWDcgMf6RnkSTmE7I
LvjrlOzGSGFD9I5WyGQD8NvpXlNP3wNFnV07ABEBAAG0LkJyZXR0IEdpbGlvIChQ
cml2YXRlIEdQRyBLZXkpIDxicmV0dGdAZ251Lm9yZz6JAVQEEwEIAD4WIQToKsAm
ldb/AkPKHlz2xS3RuifLhwUCXwlMMAIbAwUJA8JnAAULCQgHAgYVCgkICwIEFgID
AQIeAQIXgAAKCRD2xS3RuifLh75SB/9JZa+c7SWBk1GHIfIjBPJEKhX6fIjDvaH+
dQQY0BWnE79mFrZCbPBtnRKohnGvAwWbYR5xsJrJimsme+PmDoqRCWtbeFS6QIJx
Ig6iPBA/E7sSfbs6zaFz8E09AZt6xUWhFLMZNkuLU8JWFz8I/8jL32C3hRW/MKGe
h4BypjUzVBVsKDwWOAoYsKZHuhQF5gzQrh96AqTgMh/gzCR5Q78fxF335arht9c2
5WoXiYJn/NHeSNi12vQ2DtqhrkUWmN+dMbOGddaEk7JFbpmZhCUQFeK0LHyMnXCt
nyKVWcC0br/LtvyXr+W7dyA6SJ6xpEb72jqIi9GAw5pA1fTxapTruQENBF8JTDAB
CADBF+D4xd81wkxcyQlP8dhE+0NW269Y31pNx/qAZKVEzBbTqmrXWHSGf8CVZLJT
5oVOmC3nMIwRo/GuK7VTjRj7PruBcXpbqzuvMAk44SGtQIk81xca1+xrQT8xAs/+
fimxSgYeG5AoB6e+5KxHv7SjqwXjU3WE7gqz5lcUk5kBPfjo0UtzhReK3FePxcjF
NFNr3CCnNST6g6y70Nno89bKd0XcgwYtuwapVBxo9FSZza826+rj0UMsg+XCcerI
Yz6KREFb8hkkHi9zGSLgP26ONyFmYxM8qvfoDnHAjmuqlGFE00WTAh+qIIEFOzd+
GPgbM7xYHCbdXPOQZ+z2ZK9LABEBAAGJATwEGAEIACYWIQToKsAmldb/AkPKHlz2
xS3RuifLhwUCXwlMMAIbDAUJA8JnAAAKCRD2xS3RuifLh5LYB/9BArNzn//eTeDr
HyOBYpaoo8uF6k5k9Bsm4A8shr8uSagaj7JvOKiQM7Xp+loIVwJ2kUbM6dzY0Opn
SNlcr7cmP/a4LpRqDbdJVQidL+YeYuhjSdk49zmtA6fJ4KzMUZvc9wLQCRy6LHm7
zgc0Z3kYfuIY4tLIjkesuz3CzCS2sCYyHZWkuIDk2Y0S/unH16EsoFWzbl+hUL7C
kL8wTjBe6Ha1gcThdY0UaiSZBqLsRXHZWy9imOYyKZ6SO0K331MEyaOjS+/PAwbI
hE5/QrslksZwfdvMuL5mhI/RqEW/Ngzxg2LHjqdoUq0rk4aEiQ3zoeQSY4xY5rTe
o+dOFmwC
=xoG7
-----END PGP PUBLIC KEY BLOCK-----
+347
View File
@@ -0,0 +1,347 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
ifj+ccdGYpikfv7KOzn2dvte
=lIl+
-----END PGP PUBLIC KEY BLOCK-----
-339
View File
@@ -1,339 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2016-2021, 2025 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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/>.
(define-module (build-self)
#:use-module (gnu)
#:use-module (guix)
#:use-module (guix ui)
#:use-module (guix config)
#:use-module (guix modules)
#:use-module ((guix self) #:select (make-config.scm))
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (rnrs io ports)
#:use-module (ice-9 match)
#:use-module (ice-9 popen)
#:export (build))
;;; Commentary:
;;;
;;; When loaded, this module returns a monadic procedure of at least one
;;; argument: the source tree to build. It returns a derivation that
;;; builds it.
;;;
;;; This file uses modules provided by the already-installed Guix. Those
;;; modules may be arbitrarily old compared to the version we want to
;;; build. Because of that, it must rely on the smallest set of features
;;; that are likely to be provided by the (guix) and (gnu) modules, and by
;;; Guile itself, forever and ever.
;;;
;;; Code:
(define (date-version-string)
"Return the current date and hour in UTC timezone, for use as a poor
person's version identifier."
;; XXX: Replace with a Git commit id.
(date->string (current-date 0) "~Y~m~d.~H"))
(define guile-gcrypt
;; The 'guile-gcrypt' package from the host Guix.
(match (find-best-packages-by-name "guile-gcrypt" #f)
((package . _)
package)))
(define* (build-program source version
#:optional (guile-version (effective-version))
#:key (pull-version 0) (channel-metadata #f)
built-in-builders)
"Return a program that computes the derivation to build Guix from SOURCE.
If BUILT-IN-BUILDERS is provided, it should be a list of
strings and this will be used instead of the builtin builders provided by the
build daemon, from within the generated build program."
(define select?
;; Select every module but (guix config) and non-Guix modules.
;; Also exclude (guix channels): it is autoloaded by (guix describe), but
;; only for peripheral functionality.
(match-lambda
(('guix 'config) #f)
(('guix 'channels) #f)
(('guix 'build 'download) #f) ;autoloaded by (guix download)
(('guix _ ...) #t)
(('gnu _ ...) #t)
(_ #f)))
(define fake-gcrypt-hash
;; Fake (gcrypt hash) module; see below.
(scheme-file "hash.scm"
#~(define-module (gcrypt hash)
#:export (sha1 sha256))))
(define fake-git
(scheme-file "git.scm" #~(define-module (git))))
(with-imported-modules `(((guix config)
=> ,(make-config.scm))
;; To avoid relying on 'with-extensions', which was
;; introduced in 0.15.0, provide a fake (gcrypt
;; hash) just so that we can build modules, and
;; adjust %LOAD-PATH later on.
((gcrypt hash) => ,fake-gcrypt-hash)
;; (guix git-download) depends on (git) but only
;; for peripheral functionality. Provide a dummy
;; (git) to placate it.
((git) => ,fake-git)
,@(source-module-closure `((guix store)
(guix self)
(guix derivations)
(gnu packages bootstrap))
(list source)
#:select? select?))
(gexp->script "compute-guix-derivation"
#~(begin
(use-modules (ice-9 match))
(eval-when (expand load eval)
;; (gnu packages …) modules are going to be looked up
;; under SOURCE. (guix config) is looked up in FRONT.
(match (command-line)
((_ source _ ...)
(match %load-path
((front _ ...)
(unless (string=? front source) ;already done?
(set! %load-path
(list source
(string-append #$guile-gcrypt
"/share/guile/site/"
(effective-version))
front)))))))
;; Only load Guile-Gcrypt, our own modules, or those
;; of Guile.
(set! %load-compiled-path
(cons (string-append #$guile-gcrypt "/lib/guile/"
(effective-version)
"/site-ccache")
%load-compiled-path))
;; Disable position recording to save time and space
;; when loading the package modules.
(read-disable 'positions))
(use-modules (guix store)
(guix self)
(guix derivations)
(srfi srfi-1))
(match (command-line)
((_ source system version protocol-version
build-output)
;; The current input port normally wraps a file
;; descriptor connected to the daemon, or it is
;; connected to /dev/null. In the former case, reuse
;; the connection such that we inherit build options
;; such as substitute URLs and so on; in the latter
;; case, attempt to open a new connection.
(let* ((proto (string->number protocol-version))
(store (if (integer? proto)
(port->connection
(duplicate-port
(current-input-port)
"w+0")
#:version proto
#:built-in-builders
'#$built-in-builders)
(open-connection
#:built-in-builders
'#$built-in-builders)))
(sock (socket AF_UNIX SOCK_STREAM 0)))
;; Connect to BUILD-OUTPUT and send it the raw
;; build output.
(connect sock AF_UNIX build-output)
(display
(and=>
;; Silence autoload warnings and the likes.
(parameterize ((current-warning-port
(%make-void-port "w"))
(current-build-output-port sock))
(run-with-store store
(guix-derivation source version
#$guile-version
#:channel-metadata
'#$channel-metadata
#:pull-version
#$pull-version)
#:system system))
derivation-file-name))))))
#:module-path (list source))))
(define (proxy input output)
"Dump the contents of INPUT to OUTPUT until EOF is reached on INPUT.
Display a spinner when nothing happens."
(define spin
(circular-list "-" "\\" "|" "/" "-" "\\" "|" "/"))
(setvbuf input 'block 16384)
(let loop ((spin spin))
(match (select (list input) '() '() 1)
((() () ())
(when (isatty? (current-error-port))
(display (string-append "\b" (car spin))
(current-error-port))
(force-output (current-error-port)))
(loop (cdr spin)))
(((_) () ())
;; Read from INPUT as much as can be read without blocking.
(let ((bv (get-bytevector-some input)))
(unless (eof-object? bv)
(put-bytevector output bv)
(loop spin)))))))
(define (call-with-clean-environment thunk)
(let ((env (environ)))
(dynamic-wind
(lambda ()
(environ '()))
thunk
(lambda ()
(environ env)))))
(define-syntax-rule (with-clean-environment exp ...)
"Evaluate EXP in a context where zero environment variables are defined."
(call-with-clean-environment (lambda () exp ...)))
;; The procedure below is our return value.
(define* (build source
#:key verbose?
(version (date-version-string)) channel-metadata
system
(pull-version 0)
;; For the standalone Guix, default to Guile 3.0. For old
;; versions of 'guix pull' (pre-0.15.0), we have to use the
;; same Guile as the current one.
(guile-version (if (> pull-version 0)
"3.0"
(effective-version)))
built-in-builders
#:allow-other-keys
#:rest rest)
"Return a derivation that unpacks SOURCE into STORE and compiles Scheme
files."
;; Build the build program and then use it as a trampoline to build from
;; SOURCE.
(mlet %store-monad ((build (build-program source version guile-version
#:channel-metadata channel-metadata
#:pull-version pull-version
#:built-in-builders
built-in-builders))
(system (if system (return system) (current-system)))
(home -> (getenv "HOME"))
;; Note: Use the deprecated names here because the
;; caller might be Guix <= 0.16.0.
(port ((store-lift nix-server-socket)))
(major ((store-lift nix-server-major-version)))
(minor ((store-lift nix-server-minor-version))))
(mbegin %store-monad
;; Before 'with-build-handler' was implemented and used, we had to
;; explicitly call 'show-what-to-build*'.
(munless (module-defined? (resolve-module '(guix store))
'with-build-handler)
(show-what-to-build* (list build)))
(built-derivations (list build))
;; Use the port beneath the current store as the stdin of BUILD. This
;; way, we know 'open-pipe*' will not close it on 'exec'. If PORT is
;; not a file port (e.g., it's an SSH channel), then the subprocess's
;; stdin will actually be /dev/null.
(let* ((sock (socket AF_UNIX SOCK_STREAM 0))
(node (let ((file (string-append (or (getenv "TMPDIR") "/tmp")
"/guix-build-output-"
(number->string (getpid)))))
(bind sock AF_UNIX file)
(listen sock 1)
file))
(pipe (with-input-from-port port
(lambda ()
;; Make sure BUILD is not influenced by
;; $GUILE_LOAD_PATH & co.
(with-clean-environment
(setenv "GUILE_WARN_DEPRECATED" "no") ;be quiet and drive
(setenv "COLUMNS" "120") ;show wider backtraces
(when home
;; Inherit HOME so that 'xdg-directory' works.
(setenv "HOME" home))
(open-pipe* OPEN_READ
(derivation->output-path build)
source system version
(if (file-port? port)
(number->string
(logior major minor))
"none")
node))))))
(format (current-error-port) "Computing Guix derivation for '~a'... "
system)
;; Wait for a connection on SOCK and proxy build output so it can be
;; processed according to the settings currently in effect (build
;; traces, verbosity level, and so on).
(match (accept sock)
((port . _)
(close-port sock)
(delete-file node)
(proxy port (current-build-output-port))))
;; Now that the build output connection was closed, read the result, a
;; derivation file name, from PIPE.
(let ((str (get-string-all pipe))
(status (close-pipe pipe)))
(match str
((? eof-object?)
(error "build program failed" (list build status)))
((? derivation-path? drv)
(mbegin %store-monad
(return (newline (current-error-port)))
((store-lift add-temp-root) drv)
(return (read-derivation-from-file drv))))
("#f"
;; Unsupported PULL-VERSION.
(return #f))
((? string? str)
(raise (condition
(&message
(message (format #f "You found a bug: the program '~a'
failed to compute the derivation for Guix (version: ~s; system: ~s;
host version: ~s; pull-version: ~s).
Please report the COMPLETE output above by email to <~a>.~%"
(derivation->output-path build)
version system %guix-version pull-version
%guix-bug-report-address))))))))))))
;; This file is loaded by 'guix pull'; return it the build procedure.
build
;; Local Variables:
;; eval: (put 'with-load-path 'scheme-indent-function 1)
;; End:
;;; build-self.scm ends here
-82
View File
@@ -1,82 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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/>.
;;;
;;; Validate 'etc/news.scm'.
;;;
(use-modules (git)
(guix git)
(guix ui)
(guix channels)
(srfi srfi-26)
(ice-9 match))
;; XXX: These two things are currently private.
(define read-channel-news (@@ (guix channels) read-channel-news))
(define channel-news-entries (cut struct-ref <> 0))
(define (all-the-news directory)
"Return the <channel-news> read from DIRECTORY, a checkout of the 'guix'
channel."
(call-with-input-file (string-append directory "/etc/news.scm")
read-channel-news))
(define (validate-texinfo str type language)
"Parse STR as a Texinfo fragment and raise an error if that fails."
(catch #t
(lambda ()
(texi->plain-text str))
(lambda (key . args)
(print-exception (current-error-port) #f key args)
(report-error (G_ "the Texinfo snippet below is invalid (~a, ~a):~%")
type language)
(display str (current-error-port))
(exit 1))))
(define (validate-news-entry repository entry)
"Validate ENTRY, a <channel-news-entry>, making sure it refers to an
existent commit of REPOSITORY and contains only valid Texinfo."
(catch 'git-error
(lambda ()
(let ((commit (commit-lookup repository
(string->oid
(channel-news-entry-commit entry)))))
(for-each (match-lambda
((language . title)
(validate-texinfo title 'title language)))
(channel-news-entry-title entry))
(for-each (match-lambda
((language . body)
(validate-texinfo body 'body language)))
(channel-news-entry-body entry))))
(lambda (key error . rest)
(if (= GIT_ENOTFOUND (git-error-code error))
(leave (G_ "commit '~a' of entry '~a' does not exist~%")
(channel-news-entry-commit entry)
(channel-news-entry-title entry))
(apply throw key error rest)))))
(let* ((this-directory (dirname (current-filename)))
(top-directory (string-append this-directory "/.."))
(entries (channel-news-entries (all-the-news top-directory))))
(with-repository top-directory repository
(for-each (cut validate-news-entry repository <>)
entries)
(info (G_ "All ~a channel news entries are valid.~%")
(length entries))))
@@ -1,86 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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/>.
;;;
;;; Check whether important binaries are available.
;;;
(use-modules (guix store)
(guix grafts)
(guix packages)
(guix derivations)
(guix ui)
(gnu packages commencement)
(ice-9 match)
(srfi srfi-1)
(srfi srfi-26))
(define (final-inputs store system)
"Return the list of outputs directories of the final inputs for SYSTEM."
(append-map (match-lambda
((or (name package) (name package _))
(let ((drv (package-derivation store package system)))
;; Libc's 'debug' output refers to gcc-cross-boot0, but it's
;; hard to avoid, so we tolerate it. This should be the
;; only exception. Likewise, 'bash:include' depends on
;; bootstrap-binaries via its 'Makefile.inc' (FIXME).
(filter-map (match-lambda
(("debug" . directory)
(if (string=? "glibc" (package-name package))
#f
directory))
(("include" . directory)
(if (string=? "bash" (package-name package))
#f
directory))
((_ . directory) directory))
(derivation->output-paths drv)))))
(%final-inputs system)))
(define (assert-valid-substitute substitute)
"Make sure SUBSTITUTE does not refer to any bootstrap inputs, and bail out
if it does."
(let ((references (substitutable-references substitute)))
(when (any (cut string-contains <> "boot") references)
(leave (G_ "'~a' refers to bootstrap inputs: ~s~%")
(substitutable-path substitute) references))))
(define (test-final-inputs store system)
"Check whether the final inputs for SYSTEM are clean---i.e., they don't
refer to the bootstrap tools."
(format #t "checking final inputs for '~a'...~%" system)
(let* ((inputs (final-inputs store system))
(available (substitutable-path-info store inputs)))
(for-each (lambda (dir)
(unless (find (lambda (substitute)
(string=? (substitutable-path substitute)
dir))
available)
(leave (G_ "~a (system: ~a) has no substitute~%")
dir system)))
inputs)
(for-each assert-valid-substitute available)))
;; Entry point.
(with-store store
(parameterize ((%graft? #f))
(set-build-options store #:use-substitutes? #t)
(for-each (cut test-final-inputs store <>)
%cuirass-supported-systems)))
-150
View File
@@ -1,150 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2016, 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 (ice-9 format)
(ice-9 match)
(ice-9 threads)
(srfi srfi-1)
(guix build compile)
(guix build utils))
(define host (getenv "host"))
(define srcdir (getenv "srcdir"))
(define (relative-file file)
(if (string-prefix? (string-append srcdir "/") file)
(string-drop file (+ 1 (string-length srcdir)))
file))
(define (file-mtime<? f1 f2)
(< (stat:mtime (stat f1))
(stat:mtime (stat f2))))
(define (scm->go file)
(let* ((relative (relative-file file))
(without-extension (string-drop-right relative 4)))
(string-append without-extension ".go")))
(define (file-needs-compilation? file)
(let ((go (scm->go file)))
(or (not (file-exists? go))
(file-mtime<? go file))))
(define* (parallel-job-count #:optional (flags (getenv "MAKEFLAGS")))
"Return the number of parallel jobs as determined by FLAGS, the flags passed
to 'make'."
(match flags
(#f (current-processor-count))
(flags
(let ((initial-flags (string-tokenize flags)))
(let loop ((flags initial-flags))
(match flags
(()
;; Note: GNU make prior to version 4.2 would hide "-j" flags from
;; $MAKEFLAGS. Thus, check for a "--jobserver" flag here and
;; assume we're using all cores if specified.
(if (any (lambda (flag)
(string-prefix? "--jobserver" flag))
initial-flags)
(current-processor-count) ;GNU make < 4.2
1)) ;sequential make
(("-j" (= string->number count) _ ...)
(if (integer? count)
count
(current-processor-count)))
((head tail ...)
(if (string-prefix? "-j" head)
(match (string-drop head 2)
(""
(current-processor-count))
((= string->number count)
(if (integer? count)
count
(current-processor-count))))
(loop tail)))))))))
(define (parallel-job-count*)
;; XXX: Work around memory requirements not sustainable on i686 above '-j4'
;; or so: <https://bugs.gnu.org/40522>.
(let ((count (parallel-job-count)))
(if (string-prefix? "i686" %host-type)
(min count 4)
count)))
(define (% completed total)
"Return the completion percentage of COMPLETED over TOTAL as an integer."
(inexact->exact (round (* 100. (/ completed total)))))
;; Install a SIGINT handler to give unwind handlers in 'compile-file' an
;; opportunity to run upon SIGINT and to remove temporary output files.
(sigaction SIGINT
(lambda args
(exit 1)))
(match (command-line)
((_ "--total" (= string->number grand-total)
"--completed" (= string->number processed)
. files)
;; GRAND-TOTAL is the total number of .scm files in the project; PROCESSED
;; is the total number of .scm files already compiled in previous
;; invocations of this script.
(catch #t
(lambda ()
(let* ((to-build (filter file-needs-compilation? files))
(processed (+ processed
(- (length files) (length to-build)))))
(compile-files srcdir (getcwd) to-build
#:workers (parallel-job-count*)
#:host host
#:report-load (lambda (file total completed)
(when file
(format #t "[~3d%] LOAD ~a~%"
(% (+ 1 completed
(* 2 processed))
(* 2 grand-total))
file)
(force-output)))
#:report-compilation (lambda (file total completed)
(when file
(format #t "[~3d%] GUILEC ~a~%"
(% (+ total completed 1
(* 2 processed))
(* 2 grand-total))
(scm->go file))
(force-output))))))
(lambda _
(primitive-exit 1))
(lambda args
;; Try to report the error in an intelligible way.
(let* ((stack (make-stack #t))
(frame (if (> (stack-length stack) 1)
(stack-ref stack 1) ;skip the 'throw' frame
(stack-ref stack 0)))
(ui (false-if-exception
(resolve-module '(guix ui))))
(report (and ui
(false-if-exception
(module-ref ui 'report-load-error)))))
(if report
(report (or (and=> (current-load-port) port-filename) "?.scm")
args frame)
(begin
(print-exception (current-error-port) frame
(car args) (cdr args))
(display-backtrace stack (current-error-port)))))))))
-61
View File
@@ -1,61 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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/>.
;; Build Guix using Guix.
(use-modules (srfi srfi-26))
;; Add ~/.config/guix/current to the search path.
(eval-when (expand load eval)
(and=> (or (getenv "XDG_CONFIG_HOME")
(and=> (getenv "HOME")
(cut string-append <> "/.config/guix/current")))
(lambda (current)
(set! %load-path
(cons (string-append current "/share/guile/site/"
(effective-version))
%load-path))
(set! %load-compiled-path
(cons (string-append current "/lib/guile/" (effective-version)
"/site-ccache")
%load-compiled-path)))))
(use-modules (guix) (guix ui)
(guix git-download)
(ice-9 match))
(match (command-line)
((program source)
(with-error-handling
(with-store store
(let* ((script (string-append source "/build-aux/build-self.scm"))
(build (primitive-load script))
(git? (git-predicate source)))
(run-with-store store
;; TODO: Extract #:version and #:commit using Guile-Git.
(mlet* %store-monad ((source (interned-file source "guix-source"
#:select? git?
#:recursive? #t))
(drv (build source #:pull-version 1)))
(mbegin %store-monad
(show-what-to-build* (list drv))
(built-derivations (list drv))
(with-monad %store-monad
(display (derivation->output-path drv))
(newline)
(return drv))))))))))
-26
View File
@@ -1,26 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;;
;;; 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/>.
;; Translate cross-references in a translated .texi manual.
(use-modules (guix build po)
(ice-9 match))
(match (command-line)
((program texi pofile)
(translate-cross-references texi pofile)))
-112
View File
@@ -1,112 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016-2018, 2020, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
;;;
;;; 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/>.
;;; This program replicates the behavior of Cuirass's 'evaluate' process.
;;; It displays the evaluated jobs on the standard output.
(use-modules (guix channels)
(guix derivations)
(guix git-download)
(guix inferior)
(guix packages)
(guix store)
(guix ui)
((guix ui) #:select (build-notifier))
(ice-9 match)
(ice-9 threads))
(define %top-srcdir
(and=> (assq-ref (current-source-location) 'filename)
(lambda (file)
(canonicalize-path
(string-append (dirname file) "/../..")))))
(match (command-line)
((command directory)
(let ((real-build-things build-things))
(with-store store
;; Make sure we don't resort to substitutes.
(set-build-options store
#:use-substitutes? #f
#:substitute-urls '())
;; The evaluation of Guix itself requires building a "trampoline"
;; program, and possibly everything it depends on. Thus, allow builds
;; but print a notification.
(with-build-handler (build-notifier #:use-substitutes? #f)
;; Add %TOP-SRCDIR to the store with a proper Git predicate so we
;; work from a clean checkout.
(let ((source (add-to-store store "guix-source" #t
"sha256" %top-srcdir
#:select? (git-predicate %top-srcdir))))
(define instances
(list (checkout->channel-instance source)))
(define channels
(map channel-instance-channel instances))
(define derivation
;; Compute the derivation of Guix for COMMIT.
(run-with-store store
(channel-instances->derivation instances)))
;; TODO: Remove 'show-what-to-build' call when Cuirass' 'evaluate'
;; scripts uses 'with-build-handler'.
(show-what-to-build store (list derivation))
(build-derivations store (list derivation))
;; Evaluate jobs on a per-system basis for two reasons. It speeds
;; up the evaluation speed as the evaluations can be performed
;; concurrently. It also decreases the amount of memory needed per
;; evaluation process.
;;
;; Fork inferior processes upfront before we have created any
;; threads.
(let ((inferiors (map (lambda _
(open-inferior (derivation->output-path derivation)))
%cuirass-supported-systems)))
(n-par-for-each
(min (length %cuirass-supported-systems)
(current-processor-count))
(lambda (system inferior)
(with-store store
(let ((channels (map channel-instance->sexp instances)))
(inferior-eval '(use-modules (gnu ci)) inferior)
(let ((jobs
(inferior-eval-with-store
inferior store
`(lambda (store)
(cuirass-jobs store
'((subset . all)
(systems . ,(list system))
(channels . ,channels))))))
(file
(string-append directory "/jobs-" system ".scm")))
(close-inferior inferior)
(call-with-output-file file
(lambda (port)
(write jobs port)))))))
%cuirass-supported-systems
inferiors)))))))
(x
(format (current-error-port) "Wrong command: ~a~%." x)
(exit 1)))
-80
View File
@@ -1,80 +0,0 @@
#!/bin/sh
if test "$#" -lt 1 || test "$#" -gt 2
then
echo "Usage: extract-syscall-ranges.sh FILENAME [abiname_regex]"
exit 1
fi
numbers_to_ranges()
{
if ! read number
then
printf '{}\n'
return
fi
low="$number"
high="$number"
while true
do
if read number
then
if test "$number" -eq "$((high + 1))"
then
high="$number"
else
break
fi
else
printf '{ {%d, %d} }\n' "$low" "$high"
return
fi
done
printf '{ {%d, %d}' "$low" "$high"
low="$number"
high="$number"
while true
do
if read number
then
if test "$number" -eq "$((high + 1))"
then
high="$number"
else
printf ', {%d, %d}' "$low" "$high"
low="$number"
high="$number"
fi
else
printf ', {%d, %d} }\n' "$low" "$high"
return
fi
done
}
if test "$#" -eq 2
then
abi_regex="$2"
getnumbers()
{
# delete comment lines and space-only lines
sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' |
# filter to only include lines with target abi or "common"
grep -E "^[0-9]+[[:space:]]+(common|(${abi_regex}))[[:space:]]" |
# limit to only syscall number
sed -e 's/\([0-9]\+\).*/\1/g'
}
else
getnumbers()
{
# delete comment lines and space-only lines and limit to syscall number
sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d ; s/\([0-9]\+\).*/\1/g'
}
fi
getnumbers < "$1" |
sort -n |
uniq | # Yes, there are duplicate syscall entries...
numbers_to_ranges
-120
View File
@@ -1,120 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Alex Kost <alezost@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/>.
;;;
;;; Generate AUTHORS file for directory with the Guix git repository.
;;;
(use-modules
(ice-9 popen)
(ice-9 rdelim)
(ice-9 match)
(srfi srfi-1)
(guix config)
(guix utils)
(guix build utils))
(define %guix-dir
(make-parameter #f))
(define-syntax-rule (append-maybe init-lst (test add-lst) ...)
(let* ((lst init-lst)
(lst (if test
(append lst add-lst)
lst))
...)
lst))
(define (command-output cmd . args)
"Execute CMD with ARGS and return its output without trailing newspace."
(let* ((port (apply open-pipe* OPEN_READ cmd args))
(output (read-string port)))
(close-port port)
(string-trim-right output #\newline)))
(define (git-output . args)
"Execute git command with ARGS and return its output without trailing
newspace."
(with-directory-excursion (%guix-dir)
(apply command-output "git" args)))
(define* (contributors-string #:optional (range "HEAD"))
"Return a string with names of people contributed to commit RANGE."
(git-output "shortlog" "--numbered" "--summary" "--email" range))
(define* (tags #:key pattern sort)
"Return a list of the git repository tags.
PATTERN is passed to '--list' and SORT is passed to '--sort' options of
'git tag' command."
(let* ((args (append-maybe
'("tag")
(pattern (list "--list" pattern))
(sort (list "--sort" sort))))
(output (apply git-output args)))
(string-split output #\newline)))
(define (version-tags)
"Return only version tags (v0.8, etc.) sorted from the biggest version
to the smallest one."
(tags #:pattern "v*"
#:sort "-version:refname"))
(define (generate-authors-file file)
"Generate authors FILE."
(define previous-release-tag
(find (lambda (tag)
(version>? %guix-version
(substring tag 1))) ; remove leading 'v'
(version-tags)))
(define release-range
(string-append previous-release-tag "..HEAD"))
(with-output-to-file file
(lambda ()
(display "\
GNU Guix consists of Scheme code that implements the deployment model
of the Nix package management tool. In fact, it currently talks to a
build daemon whose code comes from Nix (see the manual for details.)
Nix was initially written by Eelco Dolstra; other people have been
contributing to it. See `nix/AUTHORS' for details.\n\n")
(format #t "Contributors to GNU Guix ~a:\n\n"
%guix-version)
(display (contributors-string release-range))
(newline) (newline)
(display "Overall contributors:\n\n")
(display (contributors-string))
(newline))))
(define (show-help)
(match (command-line)
((me _ ...)
(format #t "Usage: guile ~a DIRECTORY AUTHORS
Generate AUTHORS file for DIRECTORY with the Guix git repository.\n"
me))))
(match (command-line)
((_ guix-dir authors-file)
(parameterize ((%guix-dir guix-dir))
(generate-authors-file authors-file)))
(_
(show-help)
(exit 1)))
;;; generate-authors.scm ends here
-226
View File
@@ -1,226 +0,0 @@
#!/bin/sh
# Print a version string.
scriptversion=2017-01-09.19; # UTC
# Copyright (C) 2007-2017 Free Software Foundation, Inc.
#
# This program 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.
#
# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
# This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/.
# It may be run two ways:
# - from a git repository in which the "git describe" command below
# produces useful output (thus requiring at least one signed tag)
# - from a non-git-repo directory containing a .tarball-version file, which
# presumes this script is invoked like "./git-version-gen .tarball-version".
# In order to use intra-version strings in your project, you will need two
# separate generated version string files:
#
# .tarball-version - present only in a distribution tarball, and not in
# a checked-out repository. Created with contents that were learned at
# the last time autoconf was run, and used by git-version-gen. Must not
# be present in either $(srcdir) or $(builddir) for git-version-gen to
# give accurate answers during normal development with a checked out tree,
# but must be present in a tarball when there is no version control system.
# Therefore, it cannot be used in any dependencies. GNUmakefile has
# hooks to force a reconfigure at distribution time to get the value
# correct, without penalizing normal development with extra reconfigures.
#
# .version - present in a checked-out repository and in a distribution
# tarball. Usable in dependencies, particularly for files that don't
# want to depend on config.h but do want to track version changes.
# Delete this file prior to any autoconf run where you want to rebuild
# files to pick up a version string change; and leave it stale to
# minimize rebuild time after unrelated changes to configure sources.
#
# As with any generated file in a VC'd directory, you should add
# /.version to .gitignore, so that you don't accidentally commit it.
# .tarball-version is never generated in a VC'd directory, so needn't
# be listed there.
#
# Use the following line in your configure.ac, so that $(VERSION) will
# automatically be up-to-date each time configure is run (and note that
# since configure.ac no longer includes a version string, Makefile rules
# should not depend on configure.ac for version updates).
#
# AC_INIT([GNU project],
# m4_esyscmd([build-aux/git-version-gen .tarball-version]),
# [bug-project@example])
#
# Then use the following lines in your Makefile.am, so that .version
# will be present for dependencies, and so that .version and
# .tarball-version will exist in distribution tarballs.
#
# EXTRA_DIST = $(top_srcdir)/.version
# BUILT_SOURCES = $(top_srcdir)/.version
# $(top_srcdir)/.version:
# echo $(VERSION) > $@-t && mv $@-t $@
# dist-hook:
# echo $(VERSION) > $(distdir)/.tarball-version
me=$0
version="git-version-gen $scriptversion
Copyright 2011 Free Software Foundation, Inc.
There is NO warranty. You may redistribute this software
under the terms of the GNU General Public License.
For more information about these matters, see the files named COPYING."
usage="\
Usage: $me [OPTION]... \$srcdir/.tarball-version [TAG-NORMALIZATION-SED-SCRIPT]
Print a version string.
Options:
--prefix PREFIX prefix of git tags (default 'v')
--fallback VERSION
fallback version to use if \"git --version\" fails
--help display this help and exit
--version output version information and exit
Running without arguments will suffice in most cases."
prefix=v
fallback=
while test $# -gt 0; do
case $1 in
--help) echo "$usage"; exit 0;;
--version) echo "$version"; exit 0;;
--prefix) shift; prefix=${1?};;
--fallback) shift; fallback=${1?};;
-*)
echo "$0: Unknown option '$1'." >&2
echo "$0: Try '--help' for more information." >&2
exit 1;;
*)
if test "x$tarball_version_file" = x; then
tarball_version_file="$1"
elif test "x$tag_sed_script" = x; then
tag_sed_script="$1"
else
echo "$0: extra non-option argument '$1'." >&2
exit 1
fi;;
esac
shift
done
if test "x$tarball_version_file" = x; then
echo "$usage"
exit 1
fi
tag_sed_script="${tag_sed_script:-s/x/x/}"
nl='
'
# Avoid meddling by environment variable of the same name.
v=
v_from_git=
# First see if there is a tarball-only version file.
# then try "git describe", then default.
if test -f $tarball_version_file
then
v=`cat $tarball_version_file` || v=
case $v in
*$nl*) v= ;; # reject multi-line output
[0-9]*) ;;
*) v= ;;
esac
test "x$v" = x \
&& echo "$0: WARNING: $tarball_version_file is missing or damaged" 1>&2
fi
if test "x$v" != x
then
: # use $v
# Otherwise, if there is at least one git commit involving the working
# directory, and "git describe" output looks sensible, use that to
# derive a version string.
elif test "`git log -1 --pretty=format:x . 2>&1`" = x \
&& v=`git describe --abbrev=4 --match="$prefix*" HEAD 2>/dev/null \
|| git describe --abbrev=4 HEAD 2>/dev/null` \
&& v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \
&& case $v in
$prefix[0-9]*) ;;
*) (exit 1) ;;
esac
then
# Is this a new git that lists number of commits since the last
# tag or the previous older version that did not?
# Newer: v6.10-77-g0f8faeb
# Older: v6.10-g0f8faeb
case $v in
*-*-*) : git describe is okay three part flavor ;;
*-*)
: git describe is older two part flavor
# Recreate the number of commits and rewrite such that the
# result is the same as if we were using the newer version
# of git describe.
vtag=`echo "$v" | sed 's/-.*//'`
commit_list=`git rev-list "$vtag"..HEAD 2>/dev/null` \
|| { commit_list=failed;
echo "$0: WARNING: git rev-list failed" 1>&2; }
numcommits=`echo "$commit_list" | wc -l`
v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`;
test "$commit_list" = failed && v=UNKNOWN
;;
esac
# Change the first '-' to a '.', so version-comparing tools work properly.
# Remove the "g" in git describe's output string, to save a byte.
v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`;
v_from_git=1
elif test "x$fallback" = x || git --version >/dev/null 2>&1; then
v=UNKNOWN
else
v=$fallback
fi
v=`echo "$v" |sed "s/^$prefix//"`
# Test whether to append the "-dirty" suffix only if the version
# string we're using came from git. I.e., skip the test if it's "UNKNOWN"
# or if it came from .tarball-version.
if test "x$v_from_git" != x; then
# Don't declare a version "dirty" merely because a timestamp has changed.
git update-index --refresh > /dev/null 2>&1
dirty=`exec 2>/dev/null;git diff-index --name-only HEAD` || dirty=
case "$dirty" in
'') ;;
*) # Append the suffix only if there isn't one already.
case $v in
*-dirty) ;;
*) v="$v-dirty" ;;
esac ;;
esac
fi
# Omit the trailing newline, so that m4_esyscmd can use the result directly.
printf %s "$v"
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
-432
View File
@@ -1,432 +0,0 @@
eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
& eval 'exec perl -wS "$0" $argv:q'
if 0;
# Convert git log output to ChangeLog format.
my $VERSION = '2012-07-29 06:11'; # UTC
# The definition above must lie within the first 8 lines in order
# for the Emacs time-stamp write hook (at end) to update it.
# If you change this file with Emacs, please let the write hook
# do its job. Otherwise, update this string manually.
# Copyright (C) 2008-2013 Free Software Foundation, Inc.
# This program 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.
# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
# Written by Jim Meyering
use strict;
use warnings;
use Getopt::Long;
use POSIX qw(strftime);
(my $ME = $0) =~ s|.*/||;
# use File::Coda; # http://meyering.net/code/Coda/
END {
defined fileno STDOUT or return;
close STDOUT and return;
warn "$ME: failed to close standard output: $!\n";
$? ||= 1;
}
sub usage ($)
{
my ($exit_code) = @_;
my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
if ($exit_code != 0)
{
print $STREAM "Try '$ME --help' for more information.\n";
}
else
{
print $STREAM <<EOF;
Usage: $ME [OPTIONS] [ARGS]
Convert git log output to ChangeLog format. If present, any ARGS
are passed to "git log". To avoid ARGS being parsed as options to
$ME, they may be preceded by '--'.
OPTIONS:
--amend=FILE FILE maps from an SHA1 to perl code (i.e., s/old/new/) that
makes a change to SHA1's commit log text or metadata.
--append-dot append a dot to the first line of each commit message if
there is no other punctuation or blank at the end.
--no-cluster never cluster commit messages under the same date/author
header; the default is to cluster adjacent commit messages
if their headers are the same and neither commit message
contains multiple paragraphs.
--srcdir=DIR the root of the source tree, from which the .git/
directory can be derived.
--since=DATE convert only the logs since DATE;
the default is to convert all log entries.
--format=FMT set format string for commit subject and body;
see 'man git-log' for the list of format metacharacters;
the default is '%s%n%b%n'
--strip-tab remove one additional leading TAB from commit message lines.
--strip-cherry-pick remove data inserted by "git cherry-pick";
this includes the "cherry picked from commit ..." line,
and the possible final "Conflicts:" paragraph.
--help display this help and exit
--version output version information and exit
EXAMPLE:
$ME --since=2008-01-01 > ChangeLog
$ME -- -n 5 foo > last-5-commits-to-branch-foo
SPECIAL SYNTAX:
The following types of strings are interpreted specially when they appear
at the beginning of a log message line. They are not copied to the output.
Copyright-paperwork-exempt: Yes
Append the "(tiny change)" notation to the usual "date name email"
ChangeLog header to mark a change that does not require a copyright
assignment.
Co-authored-by: Joe User <user\@example.com>
List the specified name and email address on a second
ChangeLog header, denoting a co-author.
Signed-off-by: Joe User <user\@example.com>
These lines are simply elided.
In a FILE specified via --amend, comment lines (starting with "#") are ignored.
FILE must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1 (alone on
a line) referring to a commit in the current project, and CODE refers to one
or more consecutive lines of Perl code. Pairs must be separated by one or
more blank line.
Here is sample input for use with --amend=FILE, from coreutils:
3a169f4c5d9159283548178668d2fae6fced3030
# fix typo in title:
s/all tile types/all file types/
1379ed974f1fa39b12e2ffab18b3f7a607082202
# Due to a bug in vc-dwim, I mis-attributed a patch by Paul to myself.
# Change the author to be Paul. Note the escaped "@":
s,Jim .*>,Paul Eggert <eggert\\\@cs.ucla.edu>,
EOF
}
exit $exit_code;
}
# If the string $S is a well-behaved file name, simply return it.
# If it contains white space, quotes, etc., quote it, and return the new string.
sub shell_quote($)
{
my ($s) = @_;
if ($s =~ m![^\w+/.,-]!)
{
# Convert each single quote to '\''
$s =~ s/\'/\'\\\'\'/g;
# Then single quote the string.
$s = "'$s'";
}
return $s;
}
sub quoted_cmd(@)
{
return join (' ', map {shell_quote $_} @_);
}
# Parse file F.
# Comment lines (starting with "#") are ignored.
# F must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1
# (alone on a line) referring to a commit in the current project, and
# CODE refers to one or more consecutive lines of Perl code.
# Pairs must be separated by one or more blank line.
sub parse_amend_file($)
{
my ($f) = @_;
open F, '<', $f
or die "$ME: $f: failed to open for reading: $!\n";
my $fail;
my $h = {};
my $in_code = 0;
my $sha;
while (defined (my $line = <F>))
{
$line =~ /^\#/
and next;
chomp $line;
$line eq ''
and $in_code = 0, next;
if (!$in_code)
{
$line =~ /^([0-9a-fA-F]{40})$/
or (warn "$ME: $f:$.: invalid line; expected an SHA1\n"),
$fail = 1, next;
$sha = lc $1;
$in_code = 1;
exists $h->{$sha}
and (warn "$ME: $f:$.: duplicate SHA1\n"),
$fail = 1, next;
}
else
{
$h->{$sha} ||= '';
$h->{$sha} .= "$line\n";
}
}
close F;
$fail
and exit 1;
return $h;
}
# git_dir_option $SRCDIR
#
# From $SRCDIR, the --git-dir option to pass to git (none if $SRCDIR
# is undef). Return as a list (0 or 1 element).
sub git_dir_option($)
{
my ($srcdir) = @_;
my @res = ();
if (defined $srcdir)
{
my $qdir = shell_quote $srcdir;
my $cmd = "cd $qdir && git rev-parse --show-toplevel";
my $qcmd = shell_quote $cmd;
my $git_dir = qx($cmd);
defined $git_dir
or die "$ME: cannot run $qcmd: $!\n";
$? == 0
or die "$ME: $qcmd had unexpected exit code or signal ($?)\n";
chomp $git_dir;
push @res, "--git-dir=$git_dir/.git";
}
@res;
}
{
my $since_date;
my $format_string = '%s%n%b%n';
my $amend_file;
my $append_dot = 0;
my $cluster = 1;
my $strip_tab = 0;
my $strip_cherry_pick = 0;
my $srcdir;
GetOptions
(
help => sub { usage 0 },
version => sub { print "$ME version $VERSION\n"; exit },
'since=s' => \$since_date,
'format=s' => \$format_string,
'amend=s' => \$amend_file,
'append-dot' => \$append_dot,
'cluster!' => \$cluster,
'strip-tab' => \$strip_tab,
'strip-cherry-pick' => \$strip_cherry_pick,
'srcdir=s' => \$srcdir,
) or usage 1;
defined $since_date
and unshift @ARGV, "--since=$since_date";
# This is a hash that maps an SHA1 to perl code (i.e., s/old/new/)
# that makes a correction in the log or attribution of that commit.
my $amend_code = defined $amend_file ? parse_amend_file $amend_file : {};
my @cmd = ('git',
git_dir_option $srcdir,
qw(log --log-size),
'--pretty=format:%H:%ct %an <%ae>%n%n'.$format_string, @ARGV);
open PIPE, '-|', @cmd
or die ("$ME: failed to run '". quoted_cmd (@cmd) ."': $!\n"
. "(Is your Git too old? Version 1.5.1 or later is required.)\n");
my $prev_multi_paragraph;
my $prev_date_line = '';
my @prev_coauthors = ();
while (1)
{
defined (my $in = <PIPE>)
or last;
$in =~ /^log size (\d+)$/
or die "$ME:$.: Invalid line (expected log size):\n$in";
my $log_nbytes = $1;
my $log;
my $n_read = read PIPE, $log, $log_nbytes;
$n_read == $log_nbytes
or die "$ME:$.: unexpected EOF\n";
# Extract leading hash.
my ($sha, $rest) = split ':', $log, 2;
defined $sha
or die "$ME:$.: malformed log entry\n";
$sha =~ /^[0-9a-fA-F]{40}$/
or die "$ME:$.: invalid SHA1: $sha\n";
# If this commit's log requires any transformation, do it now.
my $code = $amend_code->{$sha};
if (defined $code)
{
eval 'use Safe';
my $s = new Safe;
# Put the unpreprocessed entry into "$_".
$_ = $rest;
# Let $code operate on it, safely.
my $r = $s->reval("$code")
or die "$ME:$.:$sha: failed to eval \"$code\":\n$@\n";
# Note that we've used this entry.
delete $amend_code->{$sha};
# Update $rest upon success.
$rest = $_;
}
# Remove lines inserted by "git cherry-pick".
if ($strip_cherry_pick)
{
$rest =~ s/^\s*Conflicts:\n.*//sm;
$rest =~ s/^\s*\(cherry picked from commit [\da-f]+\)\n//m;
}
my @line = split "\n", $rest;
my $author_line = shift @line;
defined $author_line
or die "$ME:$.: unexpected EOF\n";
$author_line =~ /^(\d+) (.*>)$/
or die "$ME:$.: Invalid line "
. "(expected date/author/email):\n$author_line\n";
# Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog
# `(tiny change)' annotation.
my $tiny = (grep (/^Copyright-paperwork-exempt:\s+[Yy]es$/, @line)
? ' (tiny change)' : '');
my $date_line = sprintf "%s %s$tiny\n",
strftime ("%F", localtime ($1)), $2;
my @coauthors = grep /^Co-authored-by:.*$/, @line;
# Omit meta-data lines we've already interpreted.
@line = grep !/^(?:Signed-off-by:[ ].*>$
|Co-authored-by:[ ]
|Copyright-paperwork-exempt:[ ]
)/x, @line;
# Remove leading and trailing blank lines.
if (@line)
{
while ($line[0] =~ /^\s*$/) { shift @line; }
while ($line[$#line] =~ /^\s*$/) { pop @line; }
}
# Record whether there are two or more paragraphs.
my $multi_paragraph = grep /^\s*$/, @line;
# Format 'Co-authored-by: A U Thor <email@example.com>' lines in
# standard multi-author ChangeLog format.
for (@coauthors)
{
s/^Co-authored-by:\s*/\t /;
s/\s*</ </;
/<.*?@.*\..*>/
or warn "$ME: warning: missing email address for "
. substr ($_, 5) . "\n";
}
# If clustering of commit messages has been disabled, if this header
# would be different from the previous date/name/email/coauthors header,
# or if this or the previous entry consists of two or more paragraphs,
# then print the header.
if ( ! $cluster
|| $date_line ne $prev_date_line
|| "@coauthors" ne "@prev_coauthors"
|| $multi_paragraph
|| $prev_multi_paragraph)
{
$prev_date_line eq ''
or print "\n";
print $date_line;
@coauthors
and print join ("\n", @coauthors), "\n";
}
$prev_date_line = $date_line;
@prev_coauthors = @coauthors;
$prev_multi_paragraph = $multi_paragraph;
# If there were any lines
if (@line == 0)
{
warn "$ME: warning: empty commit message:\n $date_line\n";
}
else
{
if ($append_dot)
{
# If the first line of the message has enough room, then
if (length $line[0] < 72)
{
# append a dot if there is no other punctuation or blank
# at the end.
$line[0] =~ /[[:punct:]\s]$/
or $line[0] .= '.';
}
}
# Remove one additional leading TAB from each line.
$strip_tab
and map { s/^\t// } @line;
# Prefix each non-empty line with a TAB.
@line = map { length $_ ? "\t$_" : '' } @line;
print "\n", join ("\n", @line), "\n";
}
defined ($in = <PIPE>)
or last;
$in ne "\n"
and die "$ME:$.: unexpected line:\n$in";
}
close PIPE
or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n";
# FIXME-someday: include $PROCESS_STATUS in the diagnostic
# Complain about any unused entry in the --amend=F specified file.
my $fail = 0;
foreach my $sha (keys %$amend_code)
{
warn "$ME:$amend_file: unused entry: $sha\n";
$fail = 1;
}
exit $fail;
}
# Local Variables:
# mode: perl
# indent-tabs-mode: nil
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "my $VERSION = '"
# time-stamp-format: "%:y-%02m-%02d %02H:%02M"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "'; # UTC"
# End:
-78
View File
@@ -1,78 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 Florian Pelz <pelzflorian@pelzflorian.de>
;;;
;;; 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/>.
;; Minify Gettext PO files when synced from
;; <https://codeberg.org/guix/translations/>,
;; keeping only actually translated messages.
;; Note: This does not work for PO files of the guix domain, which needed
;; support for plural forms in (@ (guix build po) read-po-file). The guix
;; domain's files are comparatively small and the read-po-file API would
;; have to be expanded to use records or such; it is not worth it.
(use-modules (guix build po)
(ice-9 match)
(ice-9 textual-ports))
(define (escape str)
"Escape msgid or msgstr. Replace by C-style escape sequences."
(let* ((in (open-input-string str))
(text (get-string-all in))
(escaped-text-as-list
(string-fold-right
(lambda (char result)
(cons (case char
((#\") "\\\"")
((#\\) "\\\\")
((#\linefeed) "\\n")
((#\return) "\\r")
((#\tab) "\\t")
(else (string char)))
result))
'()
text))
(escaped-text (apply string-append escaped-text-as-list)))
(display escaped-text)))
(match (command-line)
((program pofile)
(let ((input (open-input-file pofile)))
;; Just copy until an empty line.
(letrec ((copy
(lambda ()
(let ((next-line (get-line input)))
(display next-line)
(newline)
(when (> (string-length next-line) 0)
(copy))))))
(copy))
;; Then print only translated messages.
(for-each
(lambda (msg)
(match msg
((msgid . msgstr)
(display "msgid \"")
(escape msgid)
(display "\"")
(newline)
(display "msgstr \"")
(escape msgstr)
(display "\"")
(newline)
(newline))))
(read-po-file input)))))
-89
View File
@@ -1,89 +0,0 @@
#! /bin/sh
# -*-scheme-*-
export LANG=C LANGUAGE=C LC_TIME=C
export TZ=UTC0
exec guile --no-auto-compile -L $srcdir -C $srcdir -e '(mdate-from-git)' -s "$0" "$@"
!#
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; This program 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.
;;;
;;; This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
;;;; Commentary:
;;;
;;; Usage: mdate-from-git.scm FILE
;;;
;;; This script is compatible with Automake's `mdate-sh' but uses the timestamp
;;; from Git instead of from the file system. Also, it can be appended to
;;; mdate-sh.
;;; As a special exception for Guix, it caters for doc/guix.LANG.texi files that
;;; are not stored in Git, by using po/doc/guix-manual.LANG.po for the Git
;;; timestamp. Test doing something like:
;;;
;;; build-aux/mdate-from-git.scm doc/guix.de.texi
;;;
;;;; Code:
(define-module (mdate-from-git)
#:use-module (ice-9 match)
#:use-module (ice-9 popen)
#:use-module (ice-9 rdelim)
#:use-module (ice-9 regex)
#:export (main))
(define (pipe-command command)
(let* ((port (apply open-pipe* OPEN_READ command))
(output (read-string port)))
(close-port port)
output))
(define (guix.LANG.texi->guix-manual.LANG.po file-name)
"Translated manuals doc/guix.LANG.texi are not tracked in Git and are
generated from po/doc/guix-manual.LANG.po. For such an untraced .TEXI file,
return its .PO counterpart."
(let ((m (string-match "doc/guix.([^.]+).texi" file-name)))
(if (not m) file-name
(let ((lang (match:substring m 1)))
(format #f "po/doc/guix-manual.~a.po" lang)))))
;;;
;;; Entry point.
;;;
(define (main args)
(match args
((script file-name)
(let* ((command `("git" "ls-files" "--error-unmatch" "--" ,file-name))
(tracked? (zero? (with-error-to-port (%make-void-port "w")
(lambda _
(with-output-to-port (%make-void-port "w")
(lambda _ (apply system* command)))))))
(file-name (if tracked? file-name
(guix.LANG.texi->guix-manual.LANG.po file-name)))
(command `("git" "log" "--pretty=format:%ct" "-n1" "--" ,file-name))
(timestamp (with-error-to-port (%make-void-port "w")
(lambda _ (pipe-command command))))
(source-date-epoch (or (getenv "SOURCE_DATE_EPOCH") "1"))
(timestamp (if (string-null? timestamp) source-date-epoch
timestamp))
(time (gmtime (string->number timestamp)))
(d-m-y (strftime "%-d %B %Y" time)))
(display d-m-y)))
(_
(format (current-error-port) "Usage: mdate-from-git.scm FILE\n")
(exit 2))))
-61
View File
@@ -1,61 +0,0 @@
#!/bin/sh
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014, 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2017 Eric Bavier <bavier@cray.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/>.
# Usage: ./pre-inst-env COMMAND ARG...
#
# Run COMMAND in a pre-installation environment. Typical use is
# "./pre-inst-env guix build hello".
# By default we may end up with absolute directory names that contain '..',
# which get into $GUILE_LOAD_PATH, leading to '..' in the module file names
# recorded by Guile. To avoid that, make sure we get a real absolute
# directory name. Additionally, use '-P' to get the canonical directory name
# so that Guile's 'relative' %file-port-name-canonicalization can actually
# work (see <http://bugs.gnu.org/17935>.)
abs_top_srcdir="`cd "@abs_top_srcdir@" > /dev/null; pwd -P`"
abs_top_builddir="`cd "@abs_top_builddir@" > /dev/null; pwd -P`"
GUILE_LOAD_COMPILED_PATH="$abs_top_builddir${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
GUILE_LOAD_PATH="$abs_top_builddir:$abs_top_srcdir${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
export GUILE_LOAD_COMPILED_PATH GUILE_LOAD_PATH
# Define $PATH so that `guix' and friends are easily found.
PATH="$abs_top_builddir/scripts:$abs_top_builddir:$PATH"
export PATH
# The daemon invokes 'guix'; tell it which one to use.
GUIX="$abs_top_builddir/scripts/guix"
export GUIX
# Sanity check.
if [ "$1" = "guix" ] && [ ! -f "$GUIX" ]; then
echo "$GUIX is not built. Please run 'make scripts/guix'."
exit 1
fi
# Define $GUIX_UNINSTALLED to prevent `guix' from
# prepending @guilemoduledir@ to the Guile load paths.
GUIX_UNINSTALLED=1
export GUIX_UNINSTALLED
exec "$@"
-285
View File
@@ -1,285 +0,0 @@
#!/bin/sh
exec guile --no-auto-compile -e main -s "$0" "$@"
!#
;;;; test-driver.scm - Guile test driver for Automake testsuite harness
(define script-version "2023-12-08.14") ;UTC
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2021 Maxim Cournoyer <maxim@guixotic.coop>
;;;
;;; This program 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.
;;;
;;; This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
;;;; Commentary:
;;;
;;; This script provides a Guile test driver using the SRFI-64 Scheme API for
;;; test suites. SRFI-64 is distributed with Guile since version 2.0.9.
;;;
;;;; Code:
(use-modules (ice-9 format)
(ice-9 getopt-long)
(ice-9 pretty-print)
(ice-9 regex)
(srfi srfi-1)
(srfi srfi-19)
(srfi srfi-26)
(srfi srfi-64))
(define (show-help)
(display "Usage:
test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
[--expect-failure={yes|no}] [--color-tests={yes|no}]
[--select=REGEXP] [--exclude=REGEXP] [--errors-only={yes|no}]
[--enable-hard-errors={yes|no}] [--brief={yes|no}}]
[--show-duration={yes|no}] [--]
TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
The '--test-name' option is mandatory. The '--select' and '--exclude' options
allow selecting or excluding individual test cases via a regexp, respectively.
The '--errors-only' option can be set to \"yes\" to limit the logged test case
metadata to only those test cases that failed. When set to \"yes\", the
'--brief' option disables printing the individual test case result to the
console. When '--show-duration' is set to \"yes\", the time elapsed per test
case is shown.\n"))
(define %options
'((test-name (value #t))
(log-file (value #t))
(trs-file (value #t))
(select (value #t))
(exclude (value #t))
(errors-only (value #t))
(color-tests (value #t))
(expect-failure (value #t)) ;XXX: not implemented yet
(enable-hard-errors (value #t)) ;not implemented in SRFI-64
(brief (value #t))
(show-duration (value #t))
(help (single-char #\h) (value #f))
(version (single-char #\V) (value #f))))
(define (option->boolean options key)
"Return #t if the value associated with KEY in OPTIONS is \"yes\"."
(and=> (option-ref options key #f) (cut string=? <> "yes")))
(define* (test-display field value #:optional (port (current-output-port))
#:key pretty?)
"Display \"FIELD: VALUE\\n\" on PORT."
(if pretty?
(begin
(format port "~A:~%" field)
(pretty-print value port #:per-line-prefix "+ "))
(format port "~A: ~S~%" field value)))
(define* (result->string symbol #:key colorize?)
"Return SYMBOL as an upper case string. Use colors when COLORIZE is #t."
(let ((result (string-upcase (symbol->string symbol))))
(if colorize?
(string-append (case symbol
((pass) "") ;green
((xfail) "") ;light green
((skip) "") ;blue
((fail xpass) "") ;red
((error) "")) ;magenta
result
"") ;no color
result)))
;;;
;;; SRFI 64 custom test runner.
;;;
(define* (test-runner-gnu test-name #:key color? brief? errors-only?
show-duration?
(out-port (current-output-port))
(trs-port (%make-void-port "w"))
select exclude)
"Return an custom SRFI-64 test runner. TEST-NAME is a string specifying the
file name of the current the test. COLOR? specifies whether to use colors.
When BRIEF? is true, the individual test cases results are masked and only the
summary is shown. ERRORS-ONLY? reduces the amount of test case metadata
logged to only that of the failed test cases. OUT-PORT and TRS-PORT must be
output ports. OUT-PORT defaults to the current output port, while TRS-PORT
defaults to a void port, which means no TRS output is logged. SELECT and
EXCLUDE may take a regular expression to select or exclude individual test
cases based on their names."
(define test-cases-start-time (make-hash-table))
(define (test-on-test-begin-gnu runner)
;; Procedure called at the start of an individual test case, before the
;; test expression (and expected value) are evaluated.
(let ((test-case-name (test-runner-test-name runner))
(start-time (current-time time-monotonic)))
(hash-set! test-cases-start-time test-case-name start-time)))
(define (test-skipped? runner)
(eq? 'skip (test-result-kind runner)))
(define (test-failed? runner)
(not (or (test-passed? runner)
(test-skipped? runner))))
(define (test-on-test-end-gnu runner)
;; Procedure called at the end of an individual test case, when the result
;; of the test is available.
(let* ((results (test-result-alist runner))
(result? (cut assq <> results))
(result (cut assq-ref results <>))
(test-case-name (test-runner-test-name runner))
(start (hash-ref test-cases-start-time test-case-name))
(end (current-time time-monotonic))
(time-elapsed (time-difference end start))
(time-elapsed-seconds (+ (time-second time-elapsed)
(* 1e-9 (time-nanosecond time-elapsed)))))
(unless (or brief? (and errors-only? (test-skipped? runner)))
;; Display the result of each test case on the console.
(format out-port "~a: ~a - ~a ~@[[~,3fs]~]~%"
(result->string (test-result-kind runner) #:colorize? color?)
test-name test-case-name
(and show-duration? time-elapsed-seconds)))
(unless (and errors-only? (not (test-failed? runner)))
(format #t "test-name: ~A~%" (result 'test-name))
(format #t "location: ~A~%"
(string-append (result 'source-file) ":"
(number->string (result 'source-line))))
(test-display "source" (result 'source-form) #:pretty? #t)
(when (result? 'expected-value)
(test-display "expected-value" (result 'expected-value)))
(when (result? 'expected-error)
(test-display "expected-error" (result 'expected-error) #:pretty? #t))
(when (result? 'actual-value)
(test-display "actual-value" (result 'actual-value)))
(when (result? 'actual-error)
(test-display "actual-error" (result 'actual-error) #:pretty? #t))
(format #t "result: ~a~%" (result->string (result 'result-kind)))
(newline))
(format trs-port ":test-result: ~A ~A [~,3fs]~%"
(result->string (test-result-kind runner))
(test-runner-test-name runner) time-elapsed-seconds)))
(define (test-on-group-end-gnu runner)
;; Procedure called by a 'test-end', including at the end of a test-group.
(let ((fail (or (positive? (test-runner-fail-count runner))
(positive? (test-runner-xpass-count runner))))
(skip (or (positive? (test-runner-skip-count runner))
(positive? (test-runner-xfail-count runner)))))
;; XXX: The global results need some refinements for XPASS.
(format trs-port ":global-test-result: ~A~%"
(if fail "FAIL" (if skip "SKIP" "PASS")))
(format trs-port ":recheck: ~A~%"
(if fail "yes" "no"))
(format trs-port ":copy-in-global-log: ~A~%"
(if (or fail skip) "yes" "no"))
(when brief?
;; Display the global test group result on the console.
(format out-port "~A: ~A~%"
(result->string (if fail 'fail (if skip 'skip 'pass))
#:colorize? color?)
test-name))
#f))
(let ((runner (test-runner-null)))
(test-runner-on-test-begin! runner test-on-test-begin-gnu)
(test-runner-on-test-end! runner test-on-test-end-gnu)
(test-runner-on-group-end! runner test-on-group-end-gnu)
(test-runner-on-bad-end-name! runner test-on-bad-end-name-simple)
runner))
;;;
;;; SRFI 64 test specifiers.
;;;
(define (test-match-name* regexp)
"Return a test specifier that matches a test name against REGEXP."
(lambda (runner)
(string-match regexp (test-runner-test-name runner))))
(define (test-match-name*/negated regexp)
"Return a negated test specifier version of test-match-name*."
(lambda (runner)
(not (string-match regexp (test-runner-test-name runner)))))
;;; XXX: test-match-all is a syntax, which isn't convenient to use with a list
;;; of test specifiers computed at run time. Copy this SRFI 64 internal
;;; definition here, which is the procedural equivalent of 'test-match-all'.
(define (%test-match-all . pred-list)
(lambda (runner)
(let ((result #t))
(let loop ((l pred-list))
(if (null? l)
result
(begin
(if (not ((car l) runner))
(set! result #f))
(loop (cdr l))))))))
;;;
;;; Entry point.
;;;
(define (main . args)
(let* ((opts (getopt-long (command-line) %options))
(option (cut option-ref opts <> <>)))
(cond
((option 'help #f) (show-help))
((option 'version #f) (format #t "test-driver.scm ~A~%" script-version))
(else
(let* ((log (and=> (option 'log-file #f) (cut open-file <> "w0")))
(trs (and=> (option 'trs-file #f) (cut open-file <> "wl")))
(out (duplicate-port (current-output-port) "wl"))
(test-name (option 'test-name #f))
(select (option 'select #f))
(exclude (option 'exclude #f))
(test-specifiers (filter-map
identity
(list (and=> select test-match-name*)
(and=> exclude test-match-name*/negated))))
(test-specifier (apply %test-match-all test-specifiers))
(color-tests (if (assoc 'color-tests opts)
(option->boolean opts 'color-tests)
#t)))
(when log
(redirect-port log (current-output-port))
(redirect-port log (current-warning-port))
(redirect-port log (current-error-port)))
(test-with-runner
(test-runner-gnu test-name
#:color? color-tests
#:brief? (option->boolean opts 'brief)
#:errors-only? (option->boolean opts 'errors-only)
#:show-duration? (option->boolean
opts 'show-duration)
#:out-port out #:trs-port trs)
(test-apply test-specifier
(lambda _
(load-from-path test-name))))
(and=> log close-port)
(and=> trs close-port)
(close-port out))))
(exit 0)))
;;; Local Variables:
;;; mode: scheme
;;; eval: (add-hook 'write-file-functions 'time-stamp)
;;; time-stamp-start: "(define script-version \""
;;; time-stamp-format: "%:y-%02m-%02d.%02H"
;;; time-stamp-time-zone: "UTC"
;;; time-stamp-end: "\") ;UTC"
;;; End:
;;;; test-driver.scm ends here.
-178
View File
@@ -1,178 +0,0 @@
#!/bin/sh
# GNU Guix --- Functional package management for GNU
# Copyright © 2012-2019, 2021, 2025 Ludovic Courtès <ludo@gnu.org>
#
# 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/>.
# Usage: ./test-env COMMAND ARG...
#
# Run the daemon in the build directory, and run COMMAND within
# `pre-inst-env'. This is used to run unit tests with the just-built
# daemon, unless `--disable-daemon' was passed at configure time.
# Make sure 'cd' behaves deterministically and doesn't write anything to
# stdout.
unset CDPATH
case "$1" in
--quiet-stderr)
# Silence the daemon's output, which is often useless, as well as that
# of Bash (such as "Terminated" messages when 'guix-daemon' is
# killed.)
exec 2> /dev/null
shift
;;
esac
if [ -x "@abs_top_builddir@/guix-daemon" ]
then
NIX_STORE_DIR="@GUIX_TEST_ROOT@/store"
# Do that because store.scm calls `canonicalize-path' on it.
mkdir -p "$NIX_STORE_DIR"
# Canonicalize the store directory name in an attempt to avoid symlinks in
# it or its parent directories. See <http://bugs.gnu.org/17935>.
NIX_STORE_DIR="`cd "@GUIX_TEST_ROOT@/store"; pwd -P`"
GUIX_LOG_DIRECTORY="@GUIX_TEST_ROOT@/var/log/guix"
GUIX_DATABASE_DIRECTORY="@GUIX_TEST_ROOT@/db"
# Choose a PID-dependent name to allow for parallel builds. Note
# that the directory name must be chosen so that the socket's file
# name is less than 108-char long (the size of `sun_path' in glibc).
# Currently, in Nix builds, we're at ~106 chars...
GUIX_STATE_DIRECTORY="@GUIX_TEST_ROOT@/var/$$"
# We can't exit when we reach the limit, because perhaps the test doesn't
# actually rely on the daemon, but at least warn.
if test "`echo -n "$GUIX_STATE_DIRECTORY/daemon-socket/socket" | wc -c`" -ge 108
then
echo "warning: exceeding socket file name limit; test may fail!" >&2
fi
# The configuration directory, for import/export signing keys.
GUIX_CONFIGURATION_DIRECTORY="@GUIX_TEST_ROOT@/etc"
if [ ! -d "$GUIX_CONFIGURATION_DIRECTORY" ]
then
# Copy the keys so that the secret key has the right permissions (the
# daemon errors out when this is not the case.)
mkdir -p "$GUIX_CONFIGURATION_DIRECTORY"
cp "@abs_top_srcdir@/tests/keys/signing-key.sec" \
"@abs_top_srcdir@/tests/keys/signing-key.pub" \
"$GUIX_CONFIGURATION_DIRECTORY"
chmod 400 "$GUIX_CONFIGURATION_DIRECTORY/signing-key.sec"
fi
# A place to store data of the substituter.
GUIX_BINARY_SUBSTITUTE_URL="file://$GUIX_STATE_DIRECTORY/substituter-data"
rm -rf "$GUIX_STATE_DIRECTORY/substituter-data"
mkdir -p "$GUIX_STATE_DIRECTORY/substituter-data"
# For a number of tests, we want to allow unsigned narinfos, for
# simplicity.
GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES=yes
# Place for the substituter's cache.
XDG_CACHE_HOME="$GUIX_STATE_DIRECTORY/cache-$$"
export NIX_IGNORE_SYMLINK_STORE NIX_STORE_DIR \
GUIX_LOG_DIRECTORY GUIX_STATE_DIRECTORY GUIX_DATABASE_DIRECTORY \
GUIX_BINARY_SUBSTITUTE_URL \
GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES \
GUIX_CONFIGURATION_DIRECTORY XDG_CACHE_HOME
# Create a fresh directory with restrictive permissions so that our test
# daemon's weak isolation can't be exploited by other users
rm -rf "$GUIX_STATE_DIRECTORY/daemon-socket"
mkdir -m 0700 "$GUIX_STATE_DIRECTORY/daemon-socket"
# If unprivileged user namespaces are not supported, pass
# '--disable-chroot'.
if [ -f /proc/self/ns/user ] \
&& { [ ! -f /proc/sys/kernel/unprivileged_userns_clone ] \
|| [ "$(cat /proc/sys/kernel/unprivileged_userns_clone)" -eq 1 ]; }
then
extra_options=""
else
extra_options="--disable-chroot"
echo "unprivileged user namespaces not supported; \
running 'guix-daemon $extra_options'" >&2
fi
# Launch the daemon without chroot support because is may be
# unavailable, for instance if we're not running as root.
"@abs_top_builddir@/pre-inst-env" \
"@abs_top_builddir@/guix-daemon" \
$extra_options \
--substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL" &
daemon_pid=$!
trap "kill $daemon_pid ; rm -rf $GUIX_STATE_DIRECTORY" EXIT
# The test suite expects the 'guile-bootstrap' package to be available.
# Normally the Guile bootstrap tarball is downloaded by a fixed-output
# derivation but when network access is missing we allow users to drop
# the tarball in 'gnu/packages/bootstrap/SYSTEM' and "intern" it here.
bootstrap_directory="@abs_top_builddir@/gnu/packages/bootstrap/@guix_system@"
if [ -d "$bootstrap_directory" ]
then
# Make sure 'guix-daemon' is listening before invoking 'guix
# download'.
"@abs_top_builddir@/pre-inst-env" "@GUILE@" -c \
'(use-modules (guix))
(let loop ((i 10))
(catch #t
(lambda () (open-connection))
(lambda (key . args)
(if (zero? i)
(apply throw key args)
(begin (usleep 500000) (loop (- i 1)))))))'
for file in "$bootstrap_directory"/guile-*
do
[ -f "$file" ] && \
"@abs_top_builddir@/pre-inst-env" \
guix download "file://$file" > /dev/null
done
fi
fi
# Avoid issues that could stem from l10n, such as language/encoding
# mismatches.
unset LANGUAGE
LC_MESSAGES=C
export LC_MESSAGES
# Disable grafts by default because they can cause things to be built
# regardless of '--dry-run'.
GUIX_BUILD_OPTIONS="--no-grafts"
export GUIX_BUILD_OPTIONS
# Ignore user settings.
unset GUIX_PACKAGE_PATH
storedir="@storedir@"
prefix="@prefix@"
datarootdir="@datarootdir@"
datadir="@datadir@"
localstatedir="@localstatedir@"
export storedir prefix datarootdir datadir localstatedir
"@abs_top_builddir@/pre-inst-env" "$@"
exit $?
-198
View File
@@ -1,198 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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/>.
;;; Commentary:
;;;
;;; This script updates the list of new and updated packages in 'NEWS'.
;;;
;;; Code:
(use-modules (gnu) (guix)
(guix build utils)
((guix ui) #:select (fill-paragraph))
(srfi srfi-1)
(srfi srfi-11)
(ice-9 match)
(ice-9 rdelim)
(ice-9 regex)
(ice-9 vlist)
(ice-9 pretty-print))
(define %header-rx
(make-regexp "^\\* Changes in (version )?([0-9.]+) \\(since ([0-9.]+)\\)"))
(define (NEWS->versions port)
"Return two values: the previous version and the current version as read
from PORT, which is an input port on the 'NEWS' file."
(let loop ()
(let ((line (read-line port)))
(cond ((eof-object? line)
(error "failed to determine previous and current version"
port))
((regexp-exec %header-rx line)
=>
(lambda (match)
(values (match:substring match 3)
(match:substring match 2))))
(else
(loop))))))
(define (skip-to-org-heading port)
"Read from PORT until an Org heading is found."
(let loop ()
(let ((next (peek-char port)))
(cond ((eqv? next #\*)
#t)
((eof-object? next)
(error "next heading could not be found"))
(else
(read-line port)
(loop))))))
(define (rewrite-org-section input output heading-rx proc)
"Write to OUTPUT the text read from INPUT, but with the first Org section
matching HEADING-RX replaced by NEW-HEADING and CONTENTS."
(let loop ()
(let ((line (read-line input)))
(cond ((eof-object? line)
(error "failed to match heading regexp" heading-rx))
((regexp-exec heading-rx line)
=>
(lambda (match)
(proc match output)
(skip-to-org-heading input)
(dump-port input output)
#t))
(else
(display line output)
(newline output)
(loop))))))
(define (enumeration->paragraph lst)
"Turn LST, a list of strings, into a single string that is a ready-to-print
paragraph."
(fill-paragraph (string-join (sort lst string<?) ", ")
75))
(define (write-packages-added news-file old new)
"Write to NEWS-FILE the list of packages added between OLD and NEW."
(let ((added (lset-difference string=? (map car new) (map car old))))
(with-atomic-file-replacement news-file
(lambda (input output)
(rewrite-org-section input output
(make-regexp "^(\\*+).*new packages")
(lambda (match port)
(let ((stars (match:substring match 1)))
(format port
"~a ~a new packages~%~%"
stars (length added)))))))))
(define (write-packages-updates news-file old new)
"Write to NEWS-FILE the list of packages upgraded between OLD and NEW."
(define important
'("gcc-toolchain" "glibc" "binutils" "gdb" ;toolchain
"shepherd" "linux-libre" "xorg-server" "cups" ;OS
"gnome" "xfce" "enlightenment" "lxde" "mate" ;desktop env.
"guile" "bash" "python" "python2" "perl" ;languages
"ghc" "rust" "go" "julia" "r" "ocaml"
"icedtea" "openjdk" "clojure" "sbcl" "racket"
"emacs" "gimp" "inkscape" "libreoffice" ;applications
"octave" "icecat" "gnupg"))
(let* ((table (fold (lambda (package table)
(match package
((name . version)
(vhash-cons name version table))))
vlist-null
new))
(latest (lambda (name)
(let ((versions (vhash-fold* cons '() name table)))
(match (sort versions version>?)
((latest . _) latest)))))
(upgraded (filter-map (match-lambda
((package . new-version)
(match (assoc package old)
((_ . old-version)
(and (string=? new-version
(latest package))
(version>? new-version old-version)
(cons package new-version)))
(_ #f))))
new))
(noteworthy (filter (match-lambda
((package . version)
(member package important)))
upgraded)))
(with-atomic-file-replacement news-file
(lambda (input output)
(rewrite-org-section input output
(make-regexp "^(\\*+).*package updates")
(lambda (match port)
(let ((stars (match:substring match 1))
(lst (map (match-lambda
((package . version)
(string-append package " "
version)))
noteworthy)))
(format port
"~a ~a package updates~%~%Noteworthy updates:~%~a~%~%"
stars (length upgraded)
(enumeration->paragraph lst)))))))))
(define (main . args)
(match args
((news-file data-directory)
;; Don't browse things listed in the user's $GUIX_PACKAGE_PATH and
;; in external channels.
(parameterize ((%package-module-path
%default-package-module-path))
(define (package-file version)
(string-append data-directory "/packages-"
version ".txt"))
(define (package<? p1 p2)
(string<? (package-full-name p1) (package-full-name p2)))
(let-values (((previous-version new-version)
(call-with-input-file news-file NEWS->versions)))
(format (current-error-port) "Updating NEWS for ~a to ~a...~%"
previous-version new-version)
(let* ((old (call-with-input-file (package-file previous-version)
read))
(all-packages/sorted (sort (fold-packages (lambda (p r)
(cons p r))
'())
package<?))
(new (map (lambda (p)
(cons (package-name p) (package-version p)))
all-packages/sorted)))
(call-with-output-file (package-file new-version)
(lambda (port)
(pretty-print new port)))
(write-packages-added news-file old new)
(write-packages-updates news-file old new)))))
(x
(format (current-error-port) "Usage: update-NEWS NEWS-FILE DATA-DIRECTORY
Update the list of new and updated packages in NEWS-FILE using the
previous-version package list from DATA-DIRECTORY.\n")
(exit 1))))
(apply main (cdr (command-line)))
-215
View File
@@ -1,215 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017-2018, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;;
;;; 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/>.
;;; Commentary:
;;;
;;; This scripts updates the definition of the 'guix' package in Guix for the
;;; current commit. It requires Git to be installed.
;;;
;;; Code:
(use-modules (guix)
(guix ui)
(guix git-download)
(guix upstream)
(guix utils)
(guix base32)
(guix build utils)
(guix scripts hash)
(gnu packages package-management)
(ice-9 match)
(ice-9 popen)
(ice-9 regex)
(ice-9 textual-ports)
(srfi srfi-1)
(srfi srfi-2)
(srfi srfi-26))
(define %top-srcdir
(string-append (current-source-directory) "/.."))
(define (package-definition-location)
"Return the source properties of the definition of the 'guix' package."
(call-with-input-file (location-file (package-location guix))
(lambda (port)
(let loop ()
(match (read port)
((? eof-object?)
(error "definition of 'guix' package could not be found"
(port-filename port)))
(('define-public 'guix value)
(source-properties value))
(_
(loop)))))))
(define* (update-definition commit hash
#:key version old-hash)
"Return a one-argument procedure that takes a string, the definition of the
'guix' package, and returns a string, the update definition for VERSION,
COMMIT."
(define (linear-offset str line column)
;; Return the offset in characters to reach LINE and COLUMN (both
;; zero-indexed) in STR.
(call-with-input-string str
(lambda (port)
(let loop ((offset 0))
(cond ((and (= (port-column port) column)
(= (port-line port) line))
offset)
((eof-object? (read-char port))
(error "line and column not reached!"
str))
(else
(loop (+ 1 offset))))))))
(define (update-hash str)
;; Replace OLD-HASH with HASH in STR.
(string-replace-substring str
(bytevector->nix-base32-string old-hash)
(bytevector->nix-base32-string hash)))
(lambda (str)
(match (call-with-input-string str read)
(('let (('version old-version)
('commit old-commit)
('revision old-revision))
defn)
(let* ((location (source-properties defn))
(line (assq-ref location 'line))
(column 0)
(offset (linear-offset str line column)))
(string-append (format #f "(let ((version \"~a\")
(commit \"~a\")
(revision ~a))\n"
(or version old-version)
commit
(if (and version
(not (string=? version old-version)))
0
(+ 1 old-revision)))
(string-drop (update-hash str) offset))))
(exp
(error "'guix' package definition is not as expected" exp)))))
(define (git-add-worktree directory commit)
"Create a new git worktree at DIRECTORY, detached on commit COMMIT."
(invoke "git" "worktree" "add" "--detach" directory commit))
(define (call-with-temporary-git-worktree commit proc)
"Execute PROC in the context of a temporary git worktree created from
COMMIT. PROC receives the temporary directory file name as an argument."
(call-with-temporary-directory
(lambda (tmp-directory)
(dynamic-wind
(lambda ()
#t)
(lambda ()
(git-add-worktree tmp-directory commit)
(proc tmp-directory))
(lambda ()
(invoke "git" "worktree" "remove" "--force" tmp-directory))))))
(define %guix-git-repo-push-url-regexp
"(git.guix.gnu.org|codeberg.org/guix|git@codeberg.org:guix)/guix(.git)? \\(push\\)")
(define-syntax-rule (with-input-pipe-to-string prog arg ...)
(let* ((input-pipe (open-pipe* OPEN_READ prog arg ...))
(output (get-string-all input-pipe))
(exit-val (status:exit-val (close-pipe input-pipe))))
(unless (zero? exit-val)
(error (format #f "Command ~s exited with non-zero exit status: ~s"
(string-join (list prog arg ...)) exit-val)))
(string-trim-both output)))
(define (find-origin-remote)
"Find the name of the git remote with the Guix git repo URL."
(and-let* ((remotes (string-split (with-input-pipe-to-string
"git" "remote" "-v")
#\newline))
(origin-entry (find (cut string-match
%guix-git-repo-push-url-regexp
<>)
remotes)))
(first (string-split origin-entry #\tab))))
(define (commit-already-pushed? remote commit)
"True if COMMIT is found in the REMOTE repository."
(not (string-null? (with-input-pipe-to-string
"git" "branch" "-r" "--contains" commit
(string-append remote "/master")))))
(define (keep-source-in-store store source)
"Add SOURCE to the store under the name that the 'guix' package expects."
;; Add SOURCE to the store, but this time under the real name used in the
;; 'origin'. This allows us to build the package without having to make a
;; real checkout; thus, it also works when working on a private branch.
(reload-module
(resolve-module '(gnu packages package-management)))
(let* ((source (add-to-store store
(origin-file-name (package-source guix))
#t "sha256" source
#:select? (git-predicate source)))
(root (store-path-package-name source)))
;; Add an indirect GC root for SOURCE in the current directory.
(false-if-exception (delete-file root))
(symlink source root)
(add-indirect-root store
(string-append (getcwd) "/" root))
(info (G_ "source code kept in ~a (GC root: ~a)~%")
source root)))
(define (main . args)
(match args
((commit version)
(with-directory-excursion %top-srcdir
(or (getenv "GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT")
(let ((remote (find-origin-remote)))
(unless remote
(leave (G_ "Failed to find the origin git remote.~%")))
(commit-already-pushed? remote commit))
(leave (G_ "Commit ~a is not pushed upstream. Aborting.~%") commit))
(call-with-temporary-git-worktree commit
(lambda (tmp-directory)
(let* ((hash (nix-base32-string->bytevector
(string-trim-both
(with-output-to-string
(lambda ()
(guix-hash "-rx" tmp-directory))))))
(location (package-definition-location))
(old-hash (content-hash-value
(origin-hash (package-source guix)))))
(edit-expression location
(update-definition commit hash
#:old-hash old-hash
#:version version))
;; When GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT is set, the sources are
;; added to the store. This is used as part of 'make release'.
(when (getenv "GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT")
(with-store store
(keep-source-in-store store tmp-directory))))))))
((commit)
;; Automatically deduce the version and revision numbers.
(main commit #f))))
(apply main (cdr (command-line)))
-90
View File
@@ -1,90 +0,0 @@
#! /bin/sh
# -*-scheme-*-
build_aux=$(dirname $0)
srcdir=$build_aux/..
export LC_ALL=en_US.UTF-8
export TZ=UTC0
exec guile --no-auto-compile -L $srcdir -C $srcdir -e main -s "$0" "$@"
!#
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; This program 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.
;;;
;;; This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
;;;; Commentary:
;;;
;;; This script provides an xgettext wrapper to (re)set POT-Creation-Date from
;;; a Git timestamp. Test doing something like:
;;;
;;; build-aux/xgettext.scm --files-from=po/guix/POTFILES.in --default-domain=test
;;;
;;;; Code:
(use-modules (srfi srfi-1)
(srfi srfi-26)
(ice-9 curried-definitions)
(ice-9 match)
(ice-9 popen)
(ice-9 rdelim)
(guix build utils))
(define ((option? name) option)
(string-prefix? name option))
(define (get-option args name)
(let ((option (find (option? name) args)))
(and option
(substring option (string-length name)))))
(define (pipe-command command)
(let* ((port (apply open-pipe* OPEN_READ command))
(output (read-string port)))
(close-port port)
output))
;;;
;;; Entry point.
;;;
(define (main args)
(fluid-set! %default-port-encoding #f)
(let* ((files-from (get-option args "--files-from="))
(default-domain (get-option args "--default-domain="))
(directory (or (get-option args "--directory=") "."))
(xgettext (or (get-option args "--xgettext=") "xgettext"))
(xgettext-args (filter (negate (option? "--xgettext=")) args))
(command (match xgettext-args
((xgettext.scm args ...)
`(,xgettext ,@args))))
(result (apply system* command))
(status (/ result 256)))
(if (or (not (zero? status))
(not files-from))
(exit status)
(let* ((text (with-input-from-file files-from read-string))
(lines (string-split text #\newline))
(files (filter (negate (cute string-prefix? "#" <>)) lines))
(files (map (cute string-append directory "/" <>) files))
(git-command `("git" "log" "--pretty=format:%ci" "-n1" ,@files))
(timestamp (pipe-command git-command))
(source-date-epoch (or (getenv "SOURCE_DATE_EPOCH") "1"))
(timestamp (if (string-null? timestamp) source-date-epoch
timestamp))
(po-file (string-append default-domain ".po")))
(substitute* po-file
(("(\"POT-Creation-Date: )[^\\]*" all header)
(string-append header timestamp)))))))
+62
View File
@@ -0,0 +1,62 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
hOlob5tziejTU0hW0XIRXlXKukgc+7F4b/bIGgI=
=Y7wf
-----END PGP PUBLIC KEY BLOCK-----
+3843
View File
File diff suppressed because it is too large Load Diff
+1497
View File
File diff suppressed because it is too large Load Diff
+50
View File
@@ -0,0 +1,50 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
YF3ov6wO
=3+Zu
-----END PGP PUBLIC KEY BLOCK-----
-165
View File
@@ -1,165 +0,0 @@
dnl -*- Autoconf -*- fragment for the C++ daemon.
AC_MSG_CHECKING([whether to build daemon])
AC_MSG_RESULT([$guix_build_daemon])
dnl C++ environment. This macro must be used unconditionnaly.
AC_PROG_CXX
AM_PROG_AR
AC_LANG([C++])
if test "x$guix_build_daemon" = "xyes"; then
GUIX_ASSERT_CXX11
AC_PROG_RANLIB
AC_CONFIG_HEADERS([nix/config.h])
dnl Use 64-bit file system calls so that we can support files > 2 GiB.
AC_SYS_LARGEFILE
dnl Look for zlib, a required dependency.
AC_CHECK_LIB([z], [gzdopen], [true],
[AC_MSG_ERROR([Guix requires zlib. See http://www.zlib.net/.])])
AC_CHECK_HEADERS([zlib.h], [true],
[AC_MSG_ERROR([Guix requires zlib. See http://www.zlib.net/.])])
dnl Look for libbz2, an optional dependency.
AC_CHECK_LIB([bz2], [BZ2_bzWriteOpen], [HAVE_LIBBZ2=yes], [HAVE_LIBBZ2=no])
if test "x$HAVE_LIBBZ2" = xyes; then
AC_CHECK_HEADERS([bzlib.h])
HAVE_LIBBZ2="$ac_cv_header_bzlib_h"
fi
dnl Look for SQLite, a required dependency.
PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= 3.6.19])
AC_DEFINE_UNQUOTED([SYSTEM], ["$guix_system"],
[Guix host system type--i.e., platform and OS kernel tuple.])
case "$LIBGCRYPT_PREFIX" in
no)
LIBGCRYPT_CPPFLAGS=""
;;
*)
LIBGCRYPT_CPPFLAGS="-I$LIBGCRYPT_PREFIX/include"
;;
esac
case "$LIBGCRYPT_LIBDIR" in
no | "")
;;
*)
LIBGCRYPT_LDFLAGS="-L$LIBGCRYPT_LIBDIR"
;;
esac
LIBGCRYPT_LIBS="-lgcrypt"
AC_SUBST([LIBGCRYPT_CPPFLAGS])
AC_SUBST([LIBGCRYPT_LDFLAGS])
AC_SUBST([LIBGCRYPT_LIBS])
save_CPPFLAGS="$CPPFLAGS"
save_LDFLAGS="$LDFLAGS"
save_LIBS="$LIBS"
CPPFLAGS="$CPPFLAGS $LIBGCRYPT_CPPFLAGS"
LDFLAGS="$LDFLAGS $LIBGCRYPT_LDFLAGS"
LIBS="$LIBS $LIBGCRYPT_LIBS"
have_gcrypt=yes
AC_CHECK_LIB([gcrypt], [gcry_md_open], [:], [have_gcrypt=no])
AC_CHECK_HEADER([gcrypt.h], [:], [have_gcrypt=no])
if test "x$have_gcrypt" != "xyes"; then
AC_MSG_ERROR([GNU libgcrypt not found; please install it.])
fi
CPPFLAGS="$save_CPPFLAGS"
LDFLAGS="$save_LDFLAGS"
LIBS="$save_LIBS"
dnl Chroot support.
AC_CHECK_FUNCS([chroot unshare])
AC_CHECK_HEADERS([sched.h sys/param.h sys/mount.h sys/syscall.h \
linux/close_range.h sys/prctl.h])
if test "x$ac_cv_func_chroot" != "xyes"; then
AC_MSG_ERROR(['chroot' function missing, bailing out])
fi
dnl lutimes and lchown: used when canonicalizing store items.
dnl posix_fallocate: used when extracting archives.
dnl vfork: to speed up spawning of helper programs.
dnl `--> now disabled because of unpredictable behavior:
dnl see <http://lists.gnu.org/archive/html/guix-devel/2014-05/msg00036.html>
dnl and Nix commit f794465c (Nov. 2012).
dnl sched_setaffinity: to improve RPC locality.
dnl statvfs: to detect disk-full conditions.
dnl strsignal: for error reporting.
dnl statx: fine-grain 'stat' call, new in glibc 2.28.
AC_CHECK_FUNCS([lutimes lchown posix_fallocate sched_setaffinity \
statvfs nanosleep strsignal statx close_range])
dnl Check for <locale>.
AC_LANG_PUSH(C++)
AC_CHECK_HEADERS([locale])
AC_LANG_POP(C++)
dnl Check whether we have the `personality' syscall, which allows us
dnl to do i686-linux builds on x86_64-linux machines.
AC_CHECK_HEADERS([sys/personality.h])
dnl Determine the appropriate default list of substitute URLs (GnuTLS
dnl is required so we can default to 'https'.)
GUIX_SUBSTITUTE_URLS="https://bordeaux.guix.gnu.org https://ci.guix.gnu.org"
AC_MSG_CHECKING([for default substitute URLs])
AC_MSG_RESULT([$GUIX_SUBSTITUTE_URLS])
AC_SUBST([GUIX_SUBSTITUTE_URLS])
AC_DEFINE_UNQUOTED([GUIX_SUBSTITUTE_URLS], ["$GUIX_SUBSTITUTE_URLS"],
[Default list of substitute URLs used by 'guix-daemon'.])
dnl Check for Guile-SSH, which is required by 'guix offload'.
GUIX_CHECK_GUILE_SSH
case "x$guix_cv_have_recent_guile_ssh" in
xyes)
guix_build_daemon_offload="yes"
AC_DEFINE([HAVE_DAEMON_OFFLOAD_HOOK], [1],
[Define if the daemon's 'offload' build hook is being built (requires Guile-SSH).])
;;
*)
guix_build_daemon_offload="no"
;;
esac
dnl Temporary directory used to store the daemon's data.
GUIX_TEST_ROOT_DIRECTORY
GUIX_TEST_ROOT="$ac_cv_guix_test_root"
AC_SUBST([GUIX_TEST_ROOT])
GUIX_CHECK_LOCALSTATEDIR
case "x$host_os" in
x*linux*)
AC_CHECK_PROG([have_slirp4netns], [slirp4netns], [yes])
if test "x$have_slirp4netns" != "xyes"
then
AC_MSG_WARN([Slirp4netns not found; fixed-output chroot builds won't work without it.])
fi
;;
esac
AC_PATH_PROG([SLIRP4NETNS], [slirp4netns], [slirp4netns])
AC_DEFINE_UNQUOTED([SLIRP4NETNS], ["$SLIRP4NETNS"],
[Path to the slirp4netns program, if any.])
dnl needed for inspecting 64-bit system call arguments in seccomp's Berkeley
dnl Packet Filter VM, which only directly operates on 32-bit words.
AC_C_BIGENDIAN
fi
AM_CONDITIONAL([HAVE_LIBBZ2], [test "x$HAVE_LIBBZ2" = "xyes"])
AM_CONDITIONAL([BUILD_DAEMON], [test "x$guix_build_daemon" = "xyes"])
AM_CONDITIONAL([BUILD_DAEMON_OFFLOAD], \
[test "x$guix_build_daemon" = "xyes" \
&& test "x$guix_build_daemon_offload" = "xyes"])
-334
View File
@@ -1,334 +0,0 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
#
# GNU Guix --- Functional package management for GNU
# Copyright © 2012-2021, 2022-2023 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013, 2016 Mark H Weaver <mhw@netris.org>
# Copyright © 2014-2016 Alex Kost <alezost@gmail.com>
# Copyright © 2014-2016 David Thompson <davet@gnu.org>
# Copyright © 2015-2016, 2018 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2015-2020 Mathieu Othacehe <m.othacehe@gmail.com>
# Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr>
# Copyright © 2016, 2018, 2020, 2022 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
# Copyright © 2018 nikita <nikita@n0.is>
# Copyright © 2018, 2021 Julien Lepiller <julien@lepiller.eu>
# Copyright © 2017-2018 Eric Bavier <bavier@posteo.net>
# Copyright © 2020-2021, 2023-204 Maxim Cournoyer <maxim@guixotic.coop>
# Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
AC_PREREQ([2.69])
AC_INIT([GNU Guix],
[m4_esyscmd([build-aux/git-version-gen .tarball-version])],
[https://codeberg.org/guix/guix/issues/], [guix],
[https://www.gnu.org/software/guix/])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([1.14 gnu tar-ustar silent-rules subdir-objects \
color-tests parallel-tests -Woverride -Wno-portability])
# Enable silent rules by default.
AM_SILENT_RULES([yes])
AC_CONFIG_SRCDIR([guix.scm])
AC_CONFIG_MACRO_DIR([m4])
dnl For the C++ code. This must be used early.
AC_USE_SYSTEM_EXTENSIONS
AM_GNU_GETTEXT([external])
AM_GNU_GETTEXT_VERSION([0.19.1])
GUIX_SYSTEM_TYPE
GUIX_ASSERT_SUPPORTED_SYSTEM
GUIX_CHANNEL_METADATA
AM_CONDITIONAL([CROSS_COMPILING], [test "x$cross_compiling" = "xyes"])
AC_ARG_WITH(store-dir,
AS_HELP_STRING([--with-store-dir=PATH],
[file name of the store (defaults to /gnu/store)]),
[storedir="$withval"],
[storedir="/gnu/store"])
AC_SUBST(storedir)
AC_ARG_WITH([bash-completion-dir],
AS_HELP_STRING([--with-bash-completion-dir=DIR],
[name of the Bash completion directory]),
[bashcompletiondir="$withval"],
[bashcompletiondir='${sysconfdir}/bash_completion.d'])
AC_SUBST([bashcompletiondir])
AC_ARG_WITH([zsh-completion-dir],
AS_HELP_STRING([--with-zsh-completion-dir=DIR],
[name of the Zsh completion directory]),
[zshcompletiondir="$withval"],
[zshcompletiondir='${datadir}/zsh/site-functions'])
AC_SUBST([zshcompletiondir])
AC_ARG_WITH([fish-completion-dir],
AS_HELP_STRING([--with-fish-completion-dir=DIR],
[name of the Fish completion directory]),
[fishcompletiondir="$withval"],
[fishcompletiondir='${datadir}/fish/vendor_completions.d'])
AC_SUBST([fishcompletiondir])
AC_ARG_WITH([selinux-policy-dir],
AS_HELP_STRING([--with-selinux-policy-dir=DIR],
[name of the SELinux policy directory]),
[selinux_policydir="$withval"],
[selinux_policydir='${datadir}/selinux/'])
AC_SUBST([selinux_policydir])
AC_ARG_WITH([apparmor-profile-dir],
AS_HELP_STRING([--with-apparmor-profile-dir=DIR],
[name of the AppArmor profile directory]),
[apparmor_profiledir="$withval"],
[apparmor_profiledir='${sysconfdir}/apparmor.d'])
AC_SUBST([apparmor_profiledir])
apparmor_profile_tunablesdir='${apparmor_profiledir}/tunables'
AC_SUBST([apparmor_profile_tunablesdir])
dnl Better be verbose.
AC_MSG_CHECKING([for the store directory])
AC_MSG_RESULT([$storedir])
AC_ARG_ENABLE([daemon],
[AS_HELP_STRING([--disable-daemon], [do not build the Nix daemon (C++)])],
[guix_build_daemon="$enableval"],
[guix_build_daemon="yes"])
dnl Prepare a version of $localstatedir & co. that does not contain references
dnl to shell variables. Also set some sane default directory variables for
dnl use with the Guix. This also causes localstatedir to be /var and
dnl sysconfdir to be /etc.
AC_PREFIX_DEFAULT()
guix_prefix="`eval echo $prefix | sed -e"s|NONE|$ac_default_prefix|g"`"
guix_localstatedir="`eval echo $localstatedir | sed -e "s|NONE|$guix_prefix|g"`"
guix_sysconfdir="`eval echo $sysconfdir | sed -e "s|NONE|$guix_prefix|g"`"
AC_SUBST([guix_localstatedir])
AC_SUBST([guix_sysconfdir])
GUIX_CHECK_FILE_NAME_LIMITS([can_run_tests])
AM_CONDITIONAL([CAN_RUN_TESTS], [test "x$can_run_tests" = "xyes"])
dnl We require pkg.m4 (from pkg-config) and guile.m4 (from Guile.)
dnl Make sure they are available.
m4_pattern_forbid([PKG_CHECK_MODULES])
m4_pattern_forbid([GUILE_MODULE_AVAILABLE])
m4_pattern_forbid([^GUILE_P])
m4_pattern_allow([^GUILE_PKG_ERRORS])
m4_pattern_forbid([^GUIX_])
dnl Search for 'guile' and 'guild'. This macro defines
dnl 'GUILE_EFFECTIVE_VERSION'.
GUILE_PKG([3.0])
GUILE_PROGS
if test "x$GUILD" = "x"; then
AC_MSG_ERROR(['guild' binary not found; please check your Guile installation.])
fi
dnl (guix ui), notably, requires 'default-optimization-level' added in 3.0.3.
PKG_CHECK_MODULES([GUILE], [guile-3.0 >= 3.0.3])
dnl Get CFLAGS and LDFLAGS for libguile.
GUILE_FLAGS
dnl Installation directories for .scm and .go files.
guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION"
guileobjectdir="${libdir}/guile/$GUILE_EFFECTIVE_VERSION/site-ccache"
AC_SUBST([guilemoduledir])
AC_SUBST([guileobjectdir])
dnl The GnuTLS bindings are necessary for substitutes over HTTPS and for 'guix
dnl pull', among other things.
GUILE_MODULE_AVAILABLE([have_gnutls], [(gnutls)])
if test "x$have_gnutls" != "xyes"; then
AC_MSG_ERROR([The Guile bindings of GnuTLS are missing; please install them.])
fi
dnl Check for Guile-Git.
GUILE_MODULE_AVAILABLE([have_guile_git], [(git)])
if test "x$have_guile_git" != "xyes"; then
AC_MSG_ERROR([Guile-Git is missing; please install it.])
fi
dnl Check Guile-Git version resp. required recently added symbol.
GUILE_MODULE_REQUIRED_EXPORT([(git)], [graph-descendant?])
dnl Check for Guile-JSON.
GUIX_CHECK_GUILE_JSON
if test "x$guix_cv_have_recent_guile_json" != "xyes"; then
AC_MSG_ERROR([Guile-JSON is missing; please install it.])
fi
dnl Guile-Sqlite3 is used by the (guix store ...) modules.
GUIX_CHECK_GUILE_SQLITE3
if test "x$guix_cv_have_recent_guile_sqlite3" != "xyes"; then
AC_MSG_ERROR([A recent Guile-SQLite3 could not be found; please install it.])
fi
GUIX_CHECK_GUILE_GCRYPT
if test "x$guix_cv_have_recent_guile_gcrypt" != "xyes"; then
AC_MSG_ERROR([A recent Guile-Gcrypt could not be found; please install it.])
fi
GUIX_CHECK_GUILE_GIT
if test "x$guix_cv_have_recent_guile_git" != "xyes"; then
AC_MSG_ERROR([A recent Guile-Git could not be found; please install it.])
fi
dnl Check for the optional Guile-Lib.
GUILE_MODULE_EXPORTS([have_guile_lib], [(htmlprag)], [%strict-tokenizer?])
AM_CONDITIONAL([HAVE_GUILE_LIB], [test "x$have_guile_lib" = "xyes"])
AM_COND_IF(HAVE_GUILE_LIB,,
[AC_MSG_WARN([The Guile-Lib requirement was not satisfied (>= 0.2.7);
Some features such as the Go importer will not be usable.])])
dnl Check for Guile-zlib.
GUIX_CHECK_GUILE_ZLIB
if test "x$guix_cv_have_recent_guile_zlib" != "xyes"; then
AC_MSG_ERROR([A recent Guile-zlib could not be found; please install it.])
fi
dnl Check for Guile-lzlib.
GUILE_MODULE_AVAILABLE([have_guile_lzlib], [(lzlib)])
if test "x$have_guile_lzlib" != "xyes"; then
AC_MSG_ERROR([Guile-lzlib is missing; please install it.])
fi
dnl Check for Guile-semver.
GUILE_MODULE_AVAILABLE([have_guile_semver], [(semver)])
if test "x$have_guile_semver" != "xyes"; then
AC_MSG_ERROR([Guile-semver is missing; please install it.])
fi
dnl Check for Guile-Avahi.
GUILE_MODULE_AVAILABLE([have_guile_avahi], [(avahi)])
AM_CONDITIONAL([HAVE_GUILE_AVAHI],
[test "x$have_guile_avahi" = "xyes"])
dnl Guile-newt is used by the graphical installer.
GUILE_MODULE_AVAILABLE([have_guile_newt], [(newt)])
AC_ARG_ENABLE([installer],
AS_HELP_STRING([--enable-installer], [Build the graphical installer sources.]))
AS_IF([test "x$enable_installer" = "xyes"], [
if test "x$have_guile_newt" != "xyes"; then
AC_MSG_ERROR([Guile-newt could not be found; please install it.])
fi
])
AM_CONDITIONAL([ENABLE_INSTALLER],
[test "x$enable_installer" = "xyes"])
dnl Make sure we have a full-fledged Guile.
GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads])
AC_PROG_SED
dnl Decompressors, for use by the substituter and other modules.
AC_PATH_PROG([GZIP], [gzip])
AC_PATH_PROG([BZIP2], [bzip2])
AC_PATH_PROG([XZ], [xz])
AC_SUBST([GZIP])
AC_SUBST([BZIP2])
AC_SUBST([XZ])
dnl Git is now required for the "builtin:git-download" derivation builder.
AC_PATH_PROG([GIT], [git])
if test "x$GIT" = "x"; then
AC_MSG_ERROR([Git is missing; please install it.])
fi
AC_SUBST([GIT])
LIBGCRYPT_LIBDIR="no"
LIBGCRYPT_PREFIX="no"
AC_ARG_WITH([libgcrypt-prefix],
[AS_HELP_STRING([--with-libgcrypt-prefix=DIR], [search for GNU libgcrypt in DIR])],
[case "$withval" in
yes|no)
;;
*)
LIBGCRYPT_PREFIX="$withval"
LIBGCRYPT_LIBDIR="$withval/lib"
;;
esac])
AC_ARG_WITH([libgcrypt-libdir],
[AS_HELP_STRING([--with-libgcrypt-libdir=DIR],
[search for GNU libgcrypt's shared library in DIR])],
[case "$withval" in
yes|no)
LIBGCRYPT_LIBDIR="no"
;;
*)
LIBGCRYPT_LIBDIR="$withval"
;;
esac])
dnl If none of the --with-libgcrypt-* options was used, try to determine the
dnl the library directory.
case "x$LIBGCRYPT_PREFIX$LIBGCRYPT_LIBDIR" in
xnono)
GUIX_LIBGCRYPT_LIBDIR([LIBGCRYPT_LIBDIR])
;;
esac
AC_SUBST([LIBGCRYPT_PREFIX])
AC_SUBST([LIBGCRYPT_LIBDIR])
dnl Check for Guile-SSH, for the (guix ssh) module.
GUIX_CHECK_GUILE_SSH
AM_CONDITIONAL([HAVE_GUILE_SSH],
[test "x$guix_cv_have_recent_guile_ssh" = "xyes"])
AC_CACHE_SAVE
m4_include([config-daemon.ac])
dnl `dot' (from the Graphviz package) is only needed for maintainers.
dnl See `Building from Git' in the manual for more info.
AM_MISSING_PROG([DOT], [dot])
dnl Manual pages.
AM_MISSING_PROG([HELP2MAN], [help2man])
dnl Documentation translation.
AM_MISSING_PROG([PO4A], [po4a])
AC_MSG_CHECKING([if building from git])
if test -e .git; then
in_git_p=yes
else
in_git_p=no
fi
AC_MSG_RESULT([$in_git_p])
AM_CONDITIONAL([in_git_p],
[test "x$in_git_p" = "xyes"])
case "$storedir" in
/gnu/store)
;;
*)
AC_MSG_WARN([Using a store directory other than '/gnu/store' will prevent you])
AC_MSG_WARN([from downloading substitutes from gnu.org.])
;;
esac
AC_CONFIG_FILES([Makefile
po/guix/Makefile.in
po/packages/Makefile.in
etc/guix-daemon.cil
etc/apparmor.d/tunables/guix
guix/config.scm])
AC_CONFIG_FILES([etc/committer.scm], [chmod +x etc/committer.scm])
AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env])
AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in],
[chmod +x pre-inst-env])
AC_OUTPUT
+18
View File
@@ -0,0 +1,18 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEZ0yjARYJKwYBBAHaRw8BAQdASb8faq1fGlD3J0HchEAWmPqxndmew1tN+Ajr
bSU0Q77NKENheWV0YW5vIFNhbnRvcyA8Y3NhbnRvc2JAaW52ZW50YXRpLm9yZz7C
mAQTFgoAQQIbAwUJBaOagAULCQgHAwUVCgkICwUWAgMBAAIeBQIXgBYhBMy4GEL5
1wWOzWc3er9c3032v2aCBQJnTLA+AhkBAAoJEL9c3032v2aCVAEA+L3wQPom76o/
jlydTly+r0X5WLWHoeRdUMMGx02PGrAA/2FwlT662UR4nZOZEpdhHTX0ZGmECjZH
p1uczk+/LmIGzTBDYXlldGFubyBTYW50b3MgKENOUlMpIDxjYXlldGFuby5zYW50
b3NAY25ycy5mcj7ClgQTFgoAPhYhBMy4GEL51wWOzWc3er9c3032v2aCBQJnTKNQ
AhsDBQkFo5qABQsJCAcDBRUKCQgLBRYCAwEAAh4FAheAAAoJEL9c3032v2aCrjsA
/0pNCd77Sp7GplttQch/moMqrbFs4+tMzpH1ngdQuD5kAPwO+/fyfFikd2B9EsIB
kGRLXDma5yWva/Fo5XTwDh3pC844BGdMowESCisGAQQBl1UBBQEBB0DPAWdwxi64
FdJfNmqisLmZRuoPABUOP5Y+OeNpK68SDgMBCAfCfgQYFgoAJhYhBMy4GEL51wWO
zWc3er9c3032v2aCBQJnTKMBAhsMBQkFo5qAAAoJEL9c3032v2aCMQUBAMMuMNqW
9097k+E3t2YRjzCUGkC2C9K/YEfkyDKEC+LXAQCfUXE40rKiGht30uThgc8S26NU
RgxOMjDlmYbHyOaCAw==
=1inp
-----END PGP PUBLIC KEY BLOCK-----
+87
View File
@@ -0,0 +1,87 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
zFSe3XJZdVySGA/VQBO4ghC+7ZCXT/BlpjZ/lw74SVik/DMADD4H60HlBLWC15SO
EE1IYCA5QGbP3KE9+zp4jf5XoAHiRLwepiFoJb6x2BqmbWV5ShAvtT/nZ4R1YDoy
9432Unb9lSDWk0pVaIG/ZGKIt3Liql5ZDyoAb1TEx3xeK8yXaYeMtoREGFIuBsvN
8W5CYtmvd1FmuQQmNJbKRMjWWoH8mNmsf+UlOMgTcBb1O0WgdiJmj6M45mm8eU1c
4L/c0S26Tu+BOgkIUSOfAFViUG/8RciYH2kCd2QH7gg9h94UH7bBc5AqEZiTf1OA
XI7VkWtMdjDVxU5sj8bDUqSGP8nFAuNJLt5Zv0ub+1BLJpmOMCwDZornVumVsssq
QKJ/3yE/xcboNoVYlCIxPIK2uI3FIOhGdM9eNlCo9mGnqlKjXyY0G1T1hKx4Jqao
s9SQOSPJHRse2lN9gX7mBWa9/uXilztenEGTAe8ZyimW1VhTNqZLZCpbP4TLJPx1
dnsDrAPr6afSMaS2uCl7zLq3KT3132PfCn9u3rQyQ2hyaXN0b3BoZXIgTGVtbWVy
IFdlYmJlciA8Y3dlYmJlckBkdXN0eWNsb3VkLm9yZz6JAk4EEwEIADgWIQRRCoYo
4qd2eI+McJxLwCWSX/j00wUCWiXx2QIbAwULCQgHAgYVCAkKCwIEFgIDAQIeAQIX
gAAKCRBLwCWSX/j008nJD/4rWJrf6jEd2OXAIvDlGere1lVS+bXWIyBNPaKCu8rF
tlnJ83Tik3ejguPPQD6bFnmY/sZiuUoKKR+KQD2Q3mmB1lT8pmvFca3jpM69aeFv
/66JNs14h9JWgikwJSJansnAQjIhgAvfXPQpdrLs2YMSuEtDjWe/uTZtU3Czvmv7
QialMH55RCy94jO5xxYaVdMoVX43mf3oMMXyyOfc5BrYN4JDroW2g53Fq6d04Bf0
Ce0De2ltaCEOVYbGyiNlfTrmkCIySkuCFsSCQeU6od1HjVr/IvkaBYuh4kBiki6v
21BXNOpQ6ymD/4JT5iPGh6Omi0bJkLrWykPAICyDjpOZ56ZNxnD2gDN86ylzmNDE
/64E33jNtf0cCUg0I8z8XdLZwj75FkdnfBEQ+Mj6y+U2tb+pdQkxdCqP+HpQ+rUP
BoynrO1i0/Cxpejk4L0y39kKM/ROYWhCnqiMzzif6xyfbnmsyVjqW/rrK2o7uqZa
fk7yrvRhi89WuV3y/i2KZONsp21bCl0ivMS0wYeHK4pNNJSovseidL1S5m8HHw+g
ELPSGuqREyxTi+AjnUyAx51fygRtOf3x1OsrSED5dQZie4qyZ5eJfRxo4cx17bVA
Hs/HbIJcWrSYCM0yQ5LPk3mRzuHHIPgt5/3OlF8s1hH9ao2veHkO3XstMKd45NqD
h7kCDQRRL/HPARAA3QJXDGWWHdGT4eL6bU81IkbnkuxP4kBNklto5xKNpDvhv5CG
s/1TzcOKfNdr49SUXYK0HfexfEzW7soIf0E8RqGhs3vPj0Qjn37lbdPMAnZkLTIB
s+M3JSZUPJcIl3kMpgu5SK5X5w8UY/vSwhGWqoLV0Jx1jtPCuUkvbn8YkSOS73bu
GORR2B9HV+PlRJE3hffuDVe84/T3DGTrR+ZAPxjrCDr3LOZ9rK9o1TzHN/xf/VO5
egYctXcQuRfGsED7ifE50w6Kn/5zYj6uqYcPRObRfbao1Itmy259OEWSW7iXnKGr
lA0lPWY3U5gAW40CoP0tvducE5iUK23WvsWms4nfzaOWSII62y8X4axvz4cVPkaJ
j+LVmR40r3vscH5IGMYrAwGKxIATQfrSbnqii7LJxeQfsp1ea9tbVbxp6hAsBzuU
I69EttHesrydAuYpiaCSavl90MhpSvbgg8CXK6ZM2aaXnRWXngkNLUkHdRBzV5CO
v9z46wzffJTG+sjWSUv7nYDxio6o+SmzhICr49j9glyTs7zp1fCnLtzApm9Cm4ZN
nK4HA/WoZhP2RJj11u4ehYV+dc43+UYX6Dk7kjeLzK4tWylXa+nsXKuLLP6V7NrN
LcYxeJ3Hi36OjcIbv0ZyDwaLMe+0fL/Cr68VsO1zN7d6okYg6bELmQMNh7cAEQEA
AYkCHwQYAQIACQUCUS/xzwIbDAAKCRBLwCWSX/j002GAEAC/+qV0fRL3UimD+5AK
RJgBwTCLKU46LxvIh//Pf20n8O6TaHbloaUPCN1Eel4114UQgwOMNPTfmE4vdreg
ZgQgMqHXCOjMhHNPwVseuB7wV+XMTmIwN+woBapLQm+i5gMdfpA7G6cAoBVAcjad
Na2qshdtATsrzDFByN9jKbyjW/EhrCbmaoKMzN7HaWs6/kGNWlrp6vrZ7Hhm6trP
u+aD++vopHXm7JhVR5ViQjYopin3Z/oyRW43gDl6rapqETu1sbhawdijDjv3ncWA
caj04RRzvAxSAHltlrmufXW+1kqndIT96kLUTP/dQZgfg2Qk/gZDVOWvWksT3tdd
zM1HhM7P4PvIXC2eudSeqa+w5zuDTktG861uNJaMAAJ+t7Hvij97U/5H16zag1Ee
Wkoh8Y8tSSZO2jr8ZZ6S/4Wl9yHLoEFU9qIXMzr1mo1yrGGnP+l4H1U2gG/OqgS7
/+I9qKyRJ8bCcnep6k3qYsiZSc6F3ONeldnD42GYnj2Si0pJbAqrdCXFZh2qBuKM
uBg+F4ZBhAeDDch5fjCVK31kaG9E0iXyrNNPx0vcx4lauqrBLsOGix6jZxwsTOPE
UST7LwWsSdwXI61YClCYV0Ry1qR55q119MVcoWrF0Kho17vNkzC5hg0dQ40V9l/Y
kLEjOoXNOJGMcTcKP6qdP2Aohg==
=vgxe
-----END PGP PUBLIC KEY BLOCK-----
+80
View File
@@ -0,0 +1,80 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=RVmq
-----END PGP PUBLIC KEY BLOCK-----
+76
View File
@@ -0,0 +1,76 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
V2kKr54SWWZdTdeWM62qgpYeXrbDRg==
=2JFc
-----END PGP PUBLIC KEY BLOCK-----
+36
View File
@@ -0,0 +1,36 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
o5EIudGx
=r3t+
-----END PGP PUBLIC KEY BLOCK-----
+109
View File
@@ -0,0 +1,109 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
C0kDyI03GVXxDo+5JO4vUnLiVQ==
=FZnZ
-----END PGP PUBLIC KEY BLOCK-----
-1539
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-12
View File
@@ -1,12 +0,0 @@
(use-modules (guix)
(gnu packages gdb)
(gnu packages autotools)
(gnu packages texinfo))
;; Augment the package definition of GDB with the build tools
;; needed when developing GDB (and which are not needed when
;; simply installing it.)
(package
(inherit gdb)
(native-inputs (modify-inputs (package-native-inputs gdb)
(prepend autoconf-2.69 automake texinfo))))
-505
View File
@@ -1,505 +0,0 @@
@c The GNU Free Documentation License.
@center Version 1.3, 3 November 2008
@c This file is intended to be included within another document,
@c hence no sectioning command or @node.
@display
Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
@uref{https://fsf.org/}
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@end display
@enumerate 0
@item
PREAMBLE
The purpose of this License is to make a manual, textbook, or other
functional and useful document @dfn{free} in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.
This License is a kind of ``copyleft'', which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
@item
APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
work under the conditions stated herein. The ``Document'', below,
refers to any such manual or work. Any member of the public is a
licensee, and is addressed as ``you''. You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.
A ``Modified Version'' of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
A ``Secondary Section'' is a named appendix or a front-matter section
of the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall
subject (or to related matters) and contains nothing that could fall
directly within that overall subject. (Thus, if the Document is in
part a textbook of mathematics, a Secondary Section may not explain
any mathematics.) The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.
The ``Invariant Sections'' are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License. If a
section does not fit the above definition of Secondary then it is not
allowed to be designated as Invariant. The Document may contain zero
Invariant Sections. If the Document does not identify any Invariant
Sections then there are none.
The ``Cover Texts'' are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License. A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.
A ``Transparent'' copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
format whose markup, or absence of markup, has been arranged to thwart
or discourage subsequent modification by readers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text. A copy that is not ``Transparent'' is called ``Opaque''.
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, La@TeX{} input
format, SGML or XML using a publicly available
DTD, and standard-conforming simple HTML,
PostScript or PDF designed for human modification. Examples
of transparent image formats include PNG, XCF and
JPG. Opaque formats include proprietary formats that can be
read and edited only by proprietary word processors, SGML or
XML for which the DTD and/or processing tools are
not generally available, and the machine-generated HTML,
PostScript or PDF produced by some word processors for
output purposes only.
The ``Title Page'' means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, ``Title Page'' means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
The ``publisher'' means any person or entity that distributes copies
of the Document to the public.
A section ``Entitled XYZ'' means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
specific section name mentioned below, such as ``Acknowledgements'',
``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title''
of such a section when you modify the Document means that it remains a
section ``Entitled XYZ'' according to this definition.
The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document. These Warranty
Disclaimers are considered to be included by reference in this
License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and has
no effect on the meaning of this License.
@item
VERBATIM COPYING
You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License. You may not use
technical measures to obstruct or control the reading or further
copying of the copies you make or distribute. However, you may accept
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
@item
COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
Document's license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present
the full title with all words of the title equally prominent and
visible. You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.
If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a computer-network location from which the general network-using
public has access to download using public-standard network protocols
a complete Transparent copy of the Document, free of added material.
If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure
that this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that
edition to the public.
It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
@item
MODIFICATIONS
You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
@enumerate A
@item
Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.
@item
List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five),
unless they release you from this requirement.
@item
State on the Title page the name of the publisher of the
Modified Version, as the publisher.
@item
Preserve all the copyright notices of the Document.
@item
Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
@item
Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
@item
Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document's license notice.
@item
Include an unaltered copy of this License.
@item
Preserve the section Entitled ``History'', Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section Entitled ``History'' in the Document, create one
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
@item
Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
it was based on. These may be placed in the ``History'' section.
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
@item
For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve
the Title of the section, and preserve in the section all the
substance and tone of each of the contributor acknowledgements and/or
dedications given therein.
@item
Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
@item
Delete any section Entitled ``Endorsements''. Such a section
may not be included in the Modified Version.
@item
Do not retitle any existing section to be Entitled ``Endorsements'' or
to conflict in title with any Invariant Section.
@item
Preserve any Warranty Disclaimers.
@end enumerate
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.
You may add a section Entitled ``Endorsements'', provided it contains
nothing but endorsements of your Modified Version by various
parties---for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.
You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
through arrangements made by) any one entity. If the Document already
includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.
@item
COMBINING DOCUMENTS
You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections Entitled ``History''
in the various original documents, forming one section Entitled
``History''; likewise combine any sections Entitled ``Acknowledgements'',
and any sections Entitled ``Dedications''. You must delete all
sections Entitled ``Endorsements.''
@item
COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.
@item
AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, is called an ``aggregate'' if the copyright
resulting from the compilation is not used to limit the legal rights
of the compilation's users beyond what the individual works permit.
When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves
derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half of
the entire aggregate, the Document's Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole
aggregate.
@item
TRANSLATION
Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
translation of this License, and all the license notices in the
Document, and any Warranty Disclaimers, provided that you also include
the original English version of this License and the original versions
of those notices and disclaimers. In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.
If a section in the Document is Entitled ``Acknowledgements'',
``Dedications'', or ``History'', the requirement (section 4) to Preserve
its Title (section 1) will typically require changing the actual
title.
@item
TERMINATION
You may not copy, modify, sublicense, or distribute the Document
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense, or distribute it is void, and
will automatically terminate your rights under this License.
However, if you cease all violation of this License, then your license
from a particular copyright holder is reinstated (a) provisionally,
unless and until the copyright holder explicitly and finally
terminates your license, and (b) permanently, if the copyright holder
fails to notify you of the violation by some reasonable means prior to
60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, receipt of a copy of some or all of the same material does
not give you any rights to use it.
@item
FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
@uref{https://www.gnu.org/copyleft/}.
Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License ``or any later version'' applies to it, you have the option of
following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation. If the Document
specifies that a proxy can decide which future versions of this
License can be used, that proxy's public statement of acceptance of a
version permanently authorizes you to choose that version for the
Document.
@item
RELICENSING
``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
World Wide Web server that publishes copyrightable works and also
provides prominent facilities for anybody to edit those works. A
public wiki that anybody can edit is an example of such a server. A
``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
site means any set of copyrightable works thus published on the MMC
site.
``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
license published by Creative Commons Corporation, a not-for-profit
corporation with a principal place of business in San Francisco,
California, as well as future copyleft versions of that license
published by that same organization.
``Incorporate'' means to publish or republish a Document, in whole or
in part, as part of another Document.
An MMC is ``eligible for relicensing'' if it is licensed under this
License, and if all works that were first published under this License
somewhere other than this MMC, and subsequently incorporated in whole
or in part into the MMC, (1) had no cover texts or invariant sections,
and (2) were thus incorporated prior to November 1, 2008.
The operator of an MMC Site may republish an MMC contained in the site
under CC-BY-SA on the same site at any time before August 1, 2009,
provided the MMC is eligible for relicensing.
@end enumerate
@page
@heading ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
@smallexample
@group
Copyright (C) @var{year} @var{your name}.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
Free Documentation License''.
@end group
@end smallexample
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the ``with@dots{}Texts.''@: line with this:
@smallexample
@group
with the Invariant Sections being @var{list their titles}, with
the Front-Cover Texts being @var{list}, and with the Back-Cover Texts
being @var{list}.
@end group
@end smallexample
If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.
@c Local Variables:
@c ispell-local-pdict: "ispell-dict"
@c End:
File diff suppressed because it is too large Load Diff
-55680
View File
File diff suppressed because it is too large Load Diff
-27
View File
@@ -1,27 +0,0 @@
(use-modules (gnu home)
(gnu home services)
(gnu home services shells)
(gnu services)
(gnu packages admin)
(guix gexp))
(home-environment
(packages (list htop))
(services
(append (list
(service home-bash-service-type
(home-bash-configuration
(guix-defaults? #t)
(variables
`(("HISTFILE" . "$XDG_CACHE_HOME/.bash_history")
("HISTSIZE" . "50000")))))
(simple-service 'test-config
home-xdg-configuration-files-service-type
(list `("test.conf"
,(plain-file "tmp-file.txt"
"the content of
~/.config/test.conf")))))
%base-home-services)))
-745
View File
@@ -1,745 +0,0 @@
# htmlxref.cnf - reference file for free Texinfo manuals on the web.
# Modified by Ludovic Courtès <ludo@gnu.org> for the GNU Guix manual.
# Further modified by Tomas Volf <~@wolfsden.cz>.
htmlxrefversion=2026-01-19.08; # UTC
# Copyright 2010-2020, 2022 Free Software Foundation, Inc.
#
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved.
#
# The latest version of this file is available at
# http://ftpmirror.gnu.org/texinfo/htmlxref.cnf.
# Email corrections or additions to bug-texinfo@gnu.org.
# The primary goal is to list all relevant GNU manuals;
# other free manuals are also welcome.
#
# To be included in this list, a manual must:
#
# - have a generic url, e.g., no version numbers;
# - have a unique file name (e.g., manual identifier), i.e., be related to the
# package name. Things like "refman" or "tutorial" don't work.
# - follow the naming convention for nodes described at
# http://www.gnu.org/software/texinfo/manual/texinfo/html_node/HTML-Xref.html
# This is what makeinfo and texi2html implement.
#
# Unless the above criteria are met, it's not possible to generate
# reliable cross-manual references.
#
# For information on automatically generating all the useful formats for
# a manual to put on the web, see
# http://www.gnu.org/prep/maintain/html_node/Manuals-on-Web-Pages.html.
# For people editing this file: when a manual named foo is related to a
# package named bar, the url should contain a variable reference ${BAR}.
# Otherwise, the gnumaint scripts have no way of knowing they are
# associated, and thus gnu.org/manual can't include them.
# shorten references to manuals on www.gnu.org.
G = https://www.gnu.org
GS = ${G}/software
3dldf mono ${GS}/3dldf/manual/user_ref/3DLDF.html
3dldf node ${GS}/3dldf/manual/user_ref/
alive mono ${GS}/alive/manual/alive.html
alive node ${GS}/alive/manual/html_node/
anubis chapter ${GS}/anubis/manual/html_chapter/
anubis section ${GS}/anubis/manual/html_section/
anubis node ${GS}/anubis/manual/html_node/
artanis mono ${GS}/artanis/manual/artanis.html
artanis node ${GS}/artanis/manual/html_node/
aspell section http://aspell.net/man-html/index.html
auctex mono ${GS}/auctex/manual/auctex.html
auctex node ${GS}/auctex/manual/auctex/
autoconf mono ${GS}/autoconf/manual/autoconf.html
autoconf node ${GS}/autoconf/manual/html_node/
autogen mono ${GS}/autogen/manual/html_mono/autogen.html
autogen chapter ${GS}/autogen/manual/html_chapter/
autogen node ${GS}/autoconf/manual/html_node/
automake mono ${GS}/automake/manual/automake.html
automake node ${GS}/automake/manual/html_node/
avl node http://adtinfo.org/libavl.html/
bash mono ${GS}/bash/manual/bash.html
bash node ${GS}/bash/manual/html_node/
BINUTILS = https://sourceware.org/binutils/docs
binutils node ${BINUTILS}/binutils/
as node ${BINUTILS}/as/
bfd node ${BINUTILS}/bfd/
gprof node ${BINUTILS}/gprof/
ld node ${BINUTILS}/ld/
bison mono ${GS}/bison/manual/bison.html
bison node ${GS}/bison/manual/html_node/
bpel2owfn mono ${GS}/bpel2owfn/manual/2.0.x/bpel2owfn.html
ccd2cue mono ${GS}/ccd2cue/manual/ccd2cue.html
ccd2cue node ${GS}/ccd2cue/manual/html_node/
cflow mono ${GS}/cflow/manual/cflow.html
cflow node ${GS}/cflow/manual/html_node/
chess mono ${GS}/chess/manual/gnuchess.html
chess node ${GS}/chess/manual/html_node/
combine mono ${GS}/combine/manual/combine.html
combine chapter ${GS}/combine/manual/html_chapter/
combine section ${GS}/combine/manual/html_section/
combine node ${GS}/combine/manual/html_node/
complexity mono ${GS}/complexity/manual/complexity.html
complexity node ${GS}/complexity/manual/html_node/
coreutils mono ${GS}/coreutils/manual/coreutils
coreutils node ${GS}/coreutils/manual/html_node/
cpio mono ${GS}/cpio/manual/cpio
cpio node ${GS}/cpio/manual/html_node/
cssc node ${GS}/cssc/manual/
CUIRASS = ${GS}/guix/cuirass/manual
cuirass mono ${CUIRASS}/cuirass.html
cuirass node ${CUIRASS}/html_node/
CVS = ${GS}/trans-coord/manual
cvs mono ${CVS}/cvs/cvs.html
cvs node ${CVS}/cvs/html_node/
ddd mono ${GS}/ddd/manual/html_mono/ddd.html
ddrescue mono ${GS}/ddrescue/manual/ddrescue_manual.html
dejagnu node ${GS}/dejagnu/manual/
DICO = https://puszcza.gnu.org.ua/software/dico/manual
dico mono ${DICO}/dico.html
dico chapter ${DICO}/html_chapter/
dico section ${DICO}/html_section/
dico node ${DICO}/html_node/
diffutils mono ${GS}/diffutils/manual/diffutils
diffutils node ${GS}/diffutils/manual/html_node/
dmd mono ${GS}/dmd/manual/dmd
dmd node ${GS}/dmd/manual/html_node/
ed mono ${GS}/ed/manual/ed_manual.html
EMACS = ${GS}/emacs/manual
emacs mono ${EMACS}/html_mono/emacs.html
emacs node ${EMACS}/html_node/emacs/
#
ada-mode mono ${EMACS}/html_mono/ada-mode.html
ada-mode node ${EMACS}/html_node/ada-mode/
#
autotype mono ${EMACS}/html_mono/autotype.html
autotype node ${EMACS}/html_node/autotype/
#
ccmode mono ${EMACS}/html_mono/ccmode.html
ccmode node ${EMACS}/html_node/ccmode/
#
cl mono ${EMACS}/html_mono/cl.html
cl node ${EMACS}/html_node/cl/
#
ebrowse mono ${EMACS}/html_mono/ebrowse.html
ebrowse node ${EMACS}/html_node/ebrowse/
#
ediff mono ${EMACS}/html_mono/ediff.html
ediff node ${EMACS}/html_node/ediff/
#
eieio mono ${EMACS}/html_mono/eieio.html
eieio node ${EMACS}/html_node/eieio/
#
elisp mono ${EMACS}/html_mono/elisp.html
elisp node ${EMACS}/html_node/elisp/
#
epa mono ${EMACS}/html_mono/epa.html
epa node ${EMACS}/html_node/epa/
#
erc mono ${EMACS}/html_mono/erc.html
erc node ${EMACS}/html_node/erc/
#
dired-x mono ${EMACS}/html_mono/dired-x.html
dired-x node ${EMACS}/html_node/dired-x/
#
eshell mono ${EMACS}/html_mono/eshell.html
eshell node ${EMACS}/html_node/eshell/
#
eww mono ${EMACS}/html_mono/eww.html
eww node ${EMACS}/html_node/eww/
#
flymake mono ${EMACS}/html_mono/flymake.html
flymake node ${EMACS}/html_node/flymake/
#
gnus mono ${EMACS}/html_mono/gnus.html
gnus node ${EMACS}/html_node/gnus/
#
idlwave mono ${EMACS}/html_mono/idlwave.html
idlwave node ${EMACS}/html_node/idlwave/
#
info mono ${EMACS}/html_mono/info.html
info node ${EMACS}/html_node/info/
#
message mono ${EMACS}/html_mono/message.html
message node ${EMACS}/html_node/message/
#
mh-e mono ${EMACS}/html_mono/mh-e.html
mh-e node ${EMACS}/html_node/mh-e/
#
nxml-mode mono ${EMACS}/html_mono/nxml-mode.html
nxml-mode node ${EMACS}/html_node/nxml-mode/
#
org mono ${EMACS}/html_mono/org.html
org node ${EMACS}/html_node/org/
#
pcl-cvs mono ${EMACS}/html_mono/pcl-cvs.html
pcl-cvs node ${EMACS}/html_node/pcl-cvs/
#
rcirc mono ${EMACS}/html_mono/rcirc.html
rcirc node ${EMACS}/html_node/rcirc/
#
semantic mono ${EMACS}/html_mono/semantic.html
semantic node ${EMACS}/html_node/semantic/
#
smtp mono ${EMACS}/html_mono/smtpmail.html
smtp node ${EMACS}/html_node/smtpmail/
#
speedbar mono ${EMACS}/html_mono/speedbar.html
speedbar node ${EMACS}/html_node/speedbar/
#
tramp mono ${EMACS}/html_mono/tramp.html
tramp node ${EMACS}/html_node/tramp/
#
vip mono ${EMACS}/html_mono/vip.html
vip node ${EMACS}/html_node/vip/
#
viper mono ${EMACS}/html_mono/viper.html
viper node ${EMACS}/html_node/viper/
#
woman mono ${EMACS}/html_mono/woman.html
woman node ${EMACS}/html_node/woman/
# (end emacs manuals)
easejs mono ${GS}/easejs/manual/easejs.html
easejs node ${GS}/easejs/manual/
EMACS_GUIX = https://emacs-guix.gitlab.io/website/manual/latest
emacs-guix mono ${EMACS_GUIX}/emacs-guix.html
emacs-guix node ${EMACS_GUIX}/html_node/
emacs-muse node ${GS}/emacs-muse/manual/muse.html
emacs-muse node ${GS}/emacs-muse/manual/html_node/
emms node ${GS}/emms/manual/
# The file is called 'find.info' but the package is 'findutils'.
find mono ${GS}/findutils/manual/html_mono/find.html
find node ${GS}/findutils/manual/html_node/find_html
findutils mono ${GS}/findutils/manual/html_mono/find.html
findutils node ${GS}/findutils/manual/html_node/find_html
flex node https://westes.github.io/flex/manual/
gama mono ${GS}/gama/manual/gama.html
gama node ${GS}/gama/manual/html_node/
GAWK = ${GS}/gawk/manual
gawk mono ${GAWK}/gawk.html
gawk node ${GAWK}/html_node/
gawkinet mono ${GAWK}/gawkinet/gawkinet.html
gawkinet node ${GAWK}/gawkinet/html_node/
gcal mono ${GS}/gcal/manual/gcal.html
gcal node ${GS}/gcal/manual/html_node/
GCC = https://gcc.gnu.org/onlinedocs
gcc node ${GCC}/gcc/
cpp node ${GCC}/cpp/
gcj node ${GCC}/gcj/
gfortran node ${GCC}/gfortran/
gnat_rm node ${GCC}/gnat_rm/
gnat_ugn node ${GCC}/gnat_ugn/
libgomp node ${GCC}/libgomp/
libstdc++ node ${GCC}/libstdc++/
#
gccint node ${GCC}/gccint/
cppinternals node ${GCC}/cppinternals/
gfc-internals node ${GCC}/gfc-internals/
gnat-style node ${GCC}/gnat-style/
libiberty node ${GCC}/libiberty/
GDB = https://sourceware.org/gdb/current/onlinedocs
gdb node ${GDB}/gdb/
stabs node ${GDB}/stabs/
GDBM = http://www.gnu.org.ua/software/gdbm/manual
gdbm mono ${GDBM}/gdbm.html
gdbm chapter ${GDBM}/html_chapter/
gdbm section ${GDBM}/html_section/
gdbm node ${GDBM}/html_node/
geiser chapter http://geiser.nongnu.org/
gettext mono ${GS}/gettext/manual/gettext.html
gettext node ${GS}/gettext/manual/html_node/
gforth node https://www.complang.tuwien.ac.at/forth/gforth/Docs-html/
# Also found at:
# https://mirrors.edge.kernel.org/pub/software/scm/git/docs/user-manual.html
# https://git.github.io/htmldocs/user-manual.html
git mono https://git-scm.com/docs/user-manual
global mono ${GS}/global/manual/global.html
gmediaserver node ${GS}/gmediaserver/manual/
gmp node https://www.gmplib.org/manual/
gnu-arch node ${GS}/gnu-arch/tutorial/
gnu-c-manual mono ${GS}/gnu-c-manual/gnu-c-manual.html
gnu-crypto node ${GS}/gnu-crypto/manual/
gnubg mono ${GS}/gnubg/manual/gnubg.html
gnubg node ${GS}/gnubg/manual/html_node/
gnubik mono ${GS}/gnubik/manual/gnubik.html
gnubik node ${GS}/gnubik/manual/html_node/
gnulib mono ${GS}/gnulib/manual/gnulib.html
gnulib node ${GS}/gnulib/manual/html_node/
GNUN = ${GS}/trans-coord/manual
gnun mono ${GNUN}/gnun/gnun.html
gnun node ${GNUN}/gnun/html_node/
web-trans mono ${GNUN}/web-trans/web-trans.html
web-trans node ${GNUN}/web-trans/html_node/
GNUPG = https://www.gnupg.org/documentation/manuals
gnupg node ${GNUPG}/gnupg/
dirmngr node ${GNUPG}/dirmngr/
gcrypt node ${GNUPG}/gcrypt/
libgcrypt node ${GNUPG}/gcrypt/
ksba node ${GNUPG}/ksba/
assuan node ${GNUPG}/assuan/
gpgme node ${GNUPG}/gpgme/
gnuprologjava node ${GS}/gnuprologjava/manual/
gnuschool mono ${GS}/gnuschool/gnuschool.html
GNUSTANDARDS = ${G}/prep
maintain mono ${GNUSTANDARDS}/maintain/maintain.html
maintain node ${GNUSTANDARDS}/maintain/html_node/
#
standards mono ${GNUSTANDARDS}/standards/standards.html
standards node ${GNUSTANDARDS}/standards/html_node/
gnutls mono ${GS}/gnutls/manual/gnutls.html
gnutls node ${GS}/gnutls/manual/html_node/
gnutls-guile mono http://gnutls.org/manual/gnutls-guile.html
gnutls-guile node http://gnutls.org/manual/gnutls-guile/
gperf mono ${GS}/gperf/manual/gperf.html
gperf node ${GS}/gperf/manual/html_node/
grep mono ${GS}/grep/manual/grep.html
grep node ${GS}/grep/manual/html_node/
groff node ${GS}/groff/manual/html_node/
GRUB = ${GS}/grub/manual
grub mono ${GRUB}/grub.html
grub node ${GRUB}/html_node/
#
multiboot mono ${GRUB}/multiboot/multiboot.html
multiboot node ${GRUB}/multiboot/html_node/
gsasl mono ${GS}/gsasl/manual/gsasl.html
gsasl node ${GS}/gsasl/manual/html_node/
gsl node ${GS}/gsl/manual/html_node/
gsrc mono ${GS}/gsrc/manual/gsrc.html
gsrc node ${GS}/gsrc/manual/html_node/
gss mono ${GS}/gss/manual/gss.html
gss node ${GS}/gss/manual/html_node/
gtypist mono ${GS}/gtypist/doc/
guile mono ${GS}/guile/manual/guile.html
guile node ${GS}/guile/manual/html_node/
guile-avahi mono http://nongnu.org/guile-avahi/doc/guile-avahi.html
GUILE_GNOME = ${GS}/guile-gnome/docs
gobject node ${GUILE_GNOME}/gobject/html/
glib node ${GUILE_GNOME}/glib/html/
atk node ${GUILE_GNOME}/atk/html/
pango node ${GUILE_GNOME}/pango/html/
pangocairo node ${GUILE_GNOME}/pangocairo/html/
gdk node ${GUILE_GNOME}/gdk/html/
gtk node ${GUILE_GNOME}/gtk/html/
libglade node ${GUILE_GNOME}/libglade/html/
gnome-vfs node ${GUILE_GNOME}/gnome-vfs/html/
libgnomecanvas node ${GUILE_GNOME}/libgnomecanvas/html/
gconf node ${GUILE_GNOME}/gconf/html/
libgnome node ${GUILE_GNOME}/libgnome/html/
libgnomeui node ${GUILE_GNOME}/libgnomeui/html/
corba node ${GUILE_GNOME}/corba/html/
clutter node ${GUILE_GNOME}/clutter/html/
clutter-glx node ${GUILE_GNOME}/clutter-glx/html/
guile-gtk node ${GS}/guile-gtk/docs/guile-gtk/
guile-netlink mono https://git.lepiller.eu/guile-netlink/manual/manual.html
guile-rpc mono ${GS}/guile-rpc/manual/guile-rpc.html
guile-rpc node ${GS}/guile-rpc/manual/html_node/
GUIX_ROOT = https://guix.gnu.org
GUIX = ${GUIX_ROOT}/manual/1.5.0
guix.de mono ${GUIX}/de/guix.de.html
guix.de node ${GUIX}/de/html_node/
guix.es mono ${GUIX}/es/guix.es.html
guix.es node ${GUIX}/es/html_node/
guix.fr mono ${GUIX}/fr/guix.fr.html
guix.fr node ${GUIX}/fr/html_node/
guix.it mono ${GUIX}/it/guix.it.html
guix.it node ${GUIX}/it/html_node/
guix.pt_BR mono ${GUIX}/pt-br/guix.pt_BR.html
guix.pt_BR node ${GUIX}/pt-br/html_node/
guix.ru mono ${GUIX}/ru/guix.ru.html
guix.ru node ${GUIX}/ru/html_node/
guix.zh_CN mono ${GUIX}/zh-cn/guix.zh_CN.html
guix.zh_CN node ${GUIX}/zh-cn/html_node/
guix mono ${GUIX}/en/guix.html
guix node ${GUIX}/en/html_node/
GUIX_COOKBOOK = ${GUIX_ROOT}/cookbook
guix-cookbook.de mono ${GUIX_COOKBOOK}/de/guix-cookbook.de.html
guix-cookbook.de node ${GUIX_COOKBOOK}/de/html_node/
guix-cookbook.es mono ${GUIX_COOKBOOK}/es/guix-cookbook.de.html
guix-cookbook.es node ${GUIX_COOKBOOK}/es/html_node/
guix-cookbook.fr mono ${GUIX_COOKBOOK}/fr/guix-cookbook.fr.html
guix-cookbook.fr node ${GUIX_COOKBOOK}/fr/html_node/
guix-cookbook.it mono ${GUIX_COOKBOOK}/it/guix-cookbook.it.html
guix-cookbook.it node ${GUIX_COOKBOOK}/it/html_node/
guix-cookbook.ko mono ${GUIX_COOKBOOK}/ko/guix-cookbook.ko.html
guix-cookbook.ko node ${GUIX_COOKBOOK}/ko/html_node/
guix-cookbook.pt_BR mono ${GUIX_COOKBOOK}/pt-br/guix-cookbook.pt_BR.html
guix-cookbook.pt_BR node ${GUIX_COOKBOOK}/pt-br/html_node/
guix-cookbook.ru mono ${GUIX_COOKBOOK}/ru/guix-cookbook.ru.html
guix-cookbook.ru node ${GUIX_COOKBOOK}/ru/html_node/
guix-cookbook.sk mono ${GUIX_COOKBOOK}/sk/guix-cookbook.sk.html
guix-cookbook.sk node ${GUIX_COOKBOOK}/sk/html_node/
guix-cookbook.sv mono ${GUIX_COOKBOOK}/sv/guix-cookbook.sv.html
guix-cookbook.sv node ${GUIX_COOKBOOK}/sv/html_node/
guix-cookbook.ta mono ${GUIX_COOKBOOK}/ta/guix-cookbook.ta.html
guix-cookbook.ta node ${GUIX_COOKBOOK}/ta/html_node/
guix-cookbook mono ${GUIX_COOKBOOK}/en/guix-cookbook.html
guix-cookbook node ${GUIX_COOKBOOK}/en/html_node/
guix-cookbook.zh_CN mono ${GUIX_COOKBOOK}/zh-cn/guix-cookbook.zh_CN.html
guix-cookbook.zh_CN node ${GUIX_COOKBOOK}/zh-cn/html_node/
gv mono ${GS}/gv/manual/gv.html
gv node ${GS}/gv/manual/html_node/
gzip mono ${GS}/gzip/manual/gzip.html
gzip node ${GS}/gzip/manual/html_node/
hello mono ${GS}/hello/manual/hello.html
hello node ${GS}/hello/manual/html_node/
help2man mono ${GS}/help2man/help2man.html
# XXX: These are actually pages created by texi2html, so no quite following
# the expected naming scheme.
hurd mono ${GS}/hurd/doc/
idutils mono ${GS}/idutils/manual/idutils.html
idutils node ${GS}/idutils/manual/html_node/
inetutils mono ${GS}/inetutils/manual/inetutils.html
inetutils node ${GS}/inetutils/manual/html_node/
jwhois mono ${GS}/jwhois/manual/jwhois.html
jwhois node ${GS}/jwhois/manual/html_node/
libc mono ${GS}/libc/manual/html_mono/libc.html
libc node ${GS}/libc/manual/html_node/
LIBCDIO = ${GS}/libcdio
libcdio mono ${LIBCDIO}/libcdio.html
cd-text mono ${LIBCDIO}/cd-text-format.html
libextractor mono ${GS}/libextractor/manual/libextractor.html
libextractor node ${GS}/libextractor/manual/html_node/
libidn mono ${GS}/libidn/manual/libidn.html
libidn node ${GS}/libidn/manual/html_node/
librejs mono ${GS}/librejs/manual/librejs.html
librejs node ${GS}/librejs/manual/html_node/
libmatheval mono ${GS}/libmatheval/manual/libmatheval.html
LIBMICROHTTPD = ${GS}/libmicrohttpd
libmicrohttpd mono ${LIBMICROHTTPD}/manual/libmicrohttpd.html
libmicrohttpd node ${LIBMICROHTTPD}/manual/html_node/
microhttpd-tutorial mono ${LIBMICROHTTPD}/tutorial.html
libtasn1 mono ${GS}/libtasn1/manual/libtasn1.html
libtasn1 node ${GS}/libtasn1/manual/html_node/
libtool mono ${GS}/libtool/manual/libtool.html
libtool node ${GS}/libtool/manual/html_node/
lightning mono ${GS}/lightning/manual/lightning.html
lightning node ${GS}/lightning/manual/html_node/
# The stable/ url redirects immediately, but that's ok.
# The .html extension is omitted on their web site, but it works if given.
LILYPOND = http://lilypond.org/doc/stable/Documentation
lilypond-internals node ${LILYPOND}/internals/
lilypond-learning node ${LILYPOND}/learning/
lilypond-notation node ${LILYPOND}/notation/
lilypond-snippets node ${LILYPOND}/snippets/
lilypond-usage node ${LILYPOND}/usage/
lilypond-web node ${LILYPOND}/web/
music-glossary node ${LILYPOND}/music-glossary/
liquidwar6 mono ${GS}/liquidwar6/manual/liquidwar6.html
liquidwar6 node ${GS}/liquidwar6/manual/html_node/
lispintro mono ${GS}/emacs/emacs-lisp-intro/html_mono/emacs-lisp-intro.html
lispintro node ${GS}/emacs/emacs-lisp-intro/html_node/index.html
LSH = http://www.lysator.liu.se/~nisse/lsh
lsh mono ${LSH}/lsh.html
m4 mono ${GS}/m4/manual/m4.html
m4 node ${GS}/m4/manual/html_node/
mailutils mono ${GS}/mailutils/manual/mailutils.html
mailutils chapter ${GS}/mailutils/manual/html_chapter/
mailutils section ${GS}/mailutils/manual/html_section/
mailutils node ${GS}/mailutils/manual/html_node/
make mono ${GS}/make/manual/make.html
make node ${GS}/make/manual/html_node/
mcron mono ${GS}/mcron/manual/mcron.html
mcron node ${GS}/mcron/manual/html_node/
mdk mono ${GS}/mdk/manual/mdk.html
mdk node ${GS}/mdk/manual/html_node/
METAEXCHANGE = https://ftp.gwdg.de/pub/gnu2/iwfmdh/doc/texinfo
iwf_mh node ${METAEXCHANGE}/iwf_mh.html
scantest node ${METAEXCHANGE}/scantest.html
mes mono ${GS}/mes/manual/mes.html
mes node ${GS}/mes/manual/html_node/
MIT_SCHEME = ${GS}/mit-scheme/documentation/stable
mit-scheme-ref mono ${MIT_SCHEME}/mit-scheme-ref.html
mit-scheme-ref node ${MIT_SCHEME}/mit-scheme-ref/
mit-scheme-user mono ${MIT_SCHEME}/mit-scheme-user.html
mit-scheme-user node ${MIT_SCHEME}/mit-scheme-user/
sos mono ${MIT_SCHEME}/mit-scheme-sos.html
sos node ${MIT_SCHEME}/mit-scheme-sos/
mit-scheme-imail mono ${MIT_SCHEME}/mit-scheme-imail.html
moe mono ${GS}/moe/manual/moe_manual.html
motti node ${GS}/motti/manual/
mpc node http://www.multiprecision.org/index.php?prog=mpc&page=html
mpfr mono http://www.mpfr.org/mpfr-current/mpfr.html
mtools mono ${GS}/mtools/manual/mtools.html
myserver mono http://www.myserverproject.net/doc.php
nano mono https://www.nano-editor.org/dist/latest/nano.html
nettle chapter http://www.lysator.liu.se/~nisse/nettle/nettle.html
ocrad mono ${GS}/ocrad/manual/ocrad_manual.html
parted mono ${GS}/parted/manual/parted.html
parted node ${GS}/parted/manual/html_node/
pascal mono http://www.gnu-pascal.de/gpc/
# can't use pcb since url's contain dates --30nov10
perl mono ${GS}/perl/manual/perldoc-all.html
PIES = http://www.gnu.org.ua/software/pies/manual
pies mono ${PIES}/pies.html
pies chapter ${PIES}/html_chapter/
pies section ${PIES}/html_section/
pies node ${PIES}/html_node/
plotutils mono ${GS}/plotutils/manual/en/plotutils.html
plotutils node ${GS}/plotutils/manual/en/html_node/
proxyknife mono ${GS}/proxyknife/manual/proxyknife.html
proxyknife node ${GS}/proxyknife/manual/html_node/
pspp mono ${GS}/pspp/manual/pspp.html
pspp node ${GS}/pspp/manual/html_node/
pyconfigure mono ${GS}/pyconfigure/manual/pyconfigure.html
pyconfigure node ${GS}/pyconfigure/manual/html_node/
R = https://cran.r-project.org/doc/manuals
R-intro mono ${R}/R-intro.html
R-lang mono ${R}/R-lang.html
R-exts mono ${R}/R-exts.html
R-data mono ${R}/R-data.html
R-admin mono ${R}/R-admin.html
R-ints mono ${R}/R-ints.html
rcs mono ${GS}/rcs/manual/rcs.html
rcs node ${GS}/rcs/manual/html_node/
READLINE = https://tiswww.cwru.edu/php/chet/readline
readline mono ${READLINE}/readline.html
rluserman mono ${READLINE}/rluserman.html
history mono ${READLINE}/history.html
recode mono http://recode.progiciels-bpi.ca/manual/index.html
recutils mono ${GS}/recutils/manual/recutils.html
recutils node ${GS}/recutils/manual/html_node/
reftex mono ${GS}/auctex/manual/reftex.html
reftex node ${GS}/auctex/manual/reftex/
remotecontrol mono ${GS}/remotecontrol/manual/remotecontrol.html
remotecontrol node ${GS}/remotecontrol/manual/html_node/
rottlog mono ${GS}/rottlog/manual/rottlog.html
rottlog node ${GS}/rottlog/manual/html_node/
RUSH = http://www.gnu.org.ua/software/rush/manual
rush mono ${RUSH}/rush.html
rush chapter ${RUSH}/html_chapter/
rush section ${RUSH}/html_section/
rush node ${RUSH}/html_node/
screen mono ${GS}/screen/manual/screen.html
screen node ${GS}/screen/manual/html_node/
sed mono ${GS}/sed/manual/sed.html
sed node ${GS}/sed/manual/html_node/
sharutils mono ${GS}/sharutils/manual/html_mono/sharutils.html
sharutils chapter ${GS}/sharutils/manual/html_chapter/
sharutils node ${GS}/sharutils/manual/html_node/
shepherd mono ${GS}/shepherd/manual/shepherd.html
shepherd node ${GS}/shepherd/manual/html_node/
# can't use mono files since they have generic names
SMALLTALK = ${GS}/smalltalk
smalltalk node ${SMALLTALK}/manual/html_node/
smalltalk-base node ${SMALLTALK}/manual-base/html_node/
smalltalk-libs node ${SMALLTALK}/manual-libs/html_node/
sourceinstall mono ${GS}/sourceinstall/manual/sourceinstall.html
sourceinstall node ${GS}/sourceinstall/manual/html_node/
sqltutor mono ${GS}/sqltutor/manual/sqltutor.html
sqltutor node ${GS}/sqltutor/manual/html_node/
src-highlite mono ${GS}/src-highlite/source-highlight.html
stow mono ${GS}/stow/manual/stow.html
stow node ${GS}/stow/manual/html_node/
swbis mono ${GS}/swbis/manual.html
tar mono ${GS}/tar/manual/tar.html
tar chapter ${GS}/tar/manual/html_chapter/
tar section ${GS}/tar/manual/html_section/
tar node ${GS}/tar/manual/html_node/
teseq mono ${GS}/teseq/teseq.html
teseq node ${GS}/teseq/html_node/
TEXINFO = ${GS}/texinfo/manual
texinfo mono ${TEXINFO}/texinfo/texinfo.html
texinfo node ${TEXINFO}/texinfo/html_node/
#
info-stnd mono ${TEXINFO}/info-stnd/info-stnd.html
info-stnd node ${TEXINFO}/info-stnd/html_node/
thales node ${GS}/thales/manual/
units mono ${GS}/units/manual/units.html
units node ${GS}/units/manual/html_node/
vc-dwim mono ${GS}/vc-dwim/manual/vc-dwim.html
vc-dwim node ${GS}/vc-dwim/manual/html_node/
wdiff mono ${GS}/wdiff/manual/wdiff.html
wdiff node ${GS}/wdiff/manual/html_node/
websocket4j mono ${GS}/websocket4j/manual/websocket4j.html
websocket4j node ${GS}/websocket4j/manual/html_node/
wget mono ${GS}/wget/manual/wget.html
wget node ${GS}/wget/manual/html_node/
xboard mono ${GS}/xboard/manual/xboard.html
xboard node ${GS}/xboard/manual/html_node/
# emacs-page
# Free TeX-related Texinfo manuals on tug.org.
T = https://tug.org/texinfohtml
dvipng mono ${T}/dvipng.html
dvips mono ${T}/dvips.html
eplain mono ${T}/eplain.html
kpathsea mono ${T}/kpathsea.html
latex2e mono ${T}/latex2e.html
tlbuild mono ${T}/tlbuild.html
web2c mono ${T}/web2c.html
ELPA = https://elpa.gnu.org
ELPA_DOC = ${ELPA}/packages/doc
debbugs-ug mono ${ELPA_DOC}/debbugs-ug.html
# Local Variables:
# eval: (add-hook 'write-file-functions 'time-stamp)
# time-stamp-start: "htmlxrefversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
-83
View File
@@ -1,83 +0,0 @@
# Obtained by running "nix-store --graph" on the first GCC derivation.
digraph G {
"/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [label = "gcc-bootstrap-0.drv", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "black"];
"/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "red"];
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "green"];
"/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "blue"];
"/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "magenta"];
"/nix/store/jaaqdl979wjirnbxz1jqsipg22nva5n4-bash" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "burlywood"];
"/nix/store/r3dsy5j2c16sv26raala6kahff7w18hb-gcc-bootstrap-0-guile-builder" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "black"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "red"];
"/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "green"];
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" [label = "tar", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [label = "glibc-bootstrap-0.drv", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "blue"];
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "magenta"];
"/nix/store/8iivk9hpnps21yrbq3zzsxgzv9ixbhgh-glibc-bootstrap-0-guile-builder" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "burlywood"];
"/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "black"];
"/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "red"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "green"];
"/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "blue"];
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" [label = "xz", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/8iivk9hpnps21yrbq3zzsxgzv9ixbhgh-glibc-bootstrap-0-guile-builder" [label = "glibc-bootstrap-0-guile-builder", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" -> "/nix/store/8iivk9hpnps21yrbq3zzsxgzv9ixbhgh-glibc-bootstrap-0-guile-builder" [color = "magenta"];
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" -> "/nix/store/8iivk9hpnps21yrbq3zzsxgzv9ixbhgh-glibc-bootstrap-0-guile-builder" [color = "burlywood"];
"/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" [label = "module-import.drv", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/9zrdfvnrpljryr82an2n1mj6bh2przhn-module-import-guile-builder" -> "/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" [color = "black"];
"/nix/store/mj7amprgvl2rgash1nr0v64apik8vc7f-utils.scm" -> "/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" [color = "red"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" [color = "green"];
"/nix/store/9zrdfvnrpljryr82an2n1mj6bh2przhn-module-import-guile-builder" [label = "module-import-guile-builder", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/mj7amprgvl2rgash1nr0v64apik8vc7f-utils.scm" -> "/nix/store/9zrdfvnrpljryr82an2n1mj6bh2przhn-module-import-guile-builder" [color = "blue"];
"/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" [label = "gcc-4.7.2.tar.xz.drv", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/6kslnirvm26fij7wpjqbw617ri4gf5x5-gcc-4.7.2.tar.xz-guile-builder" -> "/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" [color = "magenta"];
"/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" -> "/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" [color = "burlywood"];
"/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" -> "/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" [color = "black"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" [color = "red"];
"/nix/store/6kslnirvm26fij7wpjqbw617ri4gf5x5-gcc-4.7.2.tar.xz-guile-builder" [label = "gcc-4.7.2.tar.xz-guile-builder", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/jaaqdl979wjirnbxz1jqsipg22nva5n4-bash" [label = "bash", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [label = "module-import.drv", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/abagrdbdndkd0y2dwk0nw1gw0g0rhl2z-ftp-client.scm" -> "/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [color = "green"];
"/nix/store/dwd2iwd1ban8a8rmx568dpgrbkkidfhw-download.scm" -> "/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [color = "blue"];
"/nix/store/mj7amprgvl2rgash1nr0v64apik8vc7f-utils.scm" -> "/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [color = "magenta"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [color = "burlywood"];
"/nix/store/yfixjx2gpvsi5dhkpdx5gj6gx0xdk1c8-module-import-guile-builder" -> "/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [color = "black"];
"/nix/store/abagrdbdndkd0y2dwk0nw1gw0g0rhl2z-ftp-client.scm" [label = "ftp-client.scm", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/dwd2iwd1ban8a8rmx568dpgrbkkidfhw-download.scm" [label = "download.scm", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/mj7amprgvl2rgash1nr0v64apik8vc7f-utils.scm" [label = "utils.scm", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" [label = "module-import-compiled.drv", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/98gzqlgpm4gxrpl5bzykpqbwrx8ckx8l-module-import-compiled-guile-builder" -> "/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" [color = "red"];
"/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" -> "/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" [color = "green"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" [color = "blue"];
"/nix/store/98gzqlgpm4gxrpl5bzykpqbwrx8ckx8l-module-import-compiled-guile-builder" [label = "module-import-compiled-guile-builder", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/r3dsy5j2c16sv26raala6kahff7w18hb-gcc-bootstrap-0-guile-builder" [label = "gcc-bootstrap-0-guile-builder", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" -> "/nix/store/r3dsy5j2c16sv26raala6kahff7w18hb-gcc-bootstrap-0-guile-builder" [color = "magenta"];
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" -> "/nix/store/r3dsy5j2c16sv26raala6kahff7w18hb-gcc-bootstrap-0-guile-builder" [color = "burlywood"];
"/nix/store/jaaqdl979wjirnbxz1jqsipg22nva5n4-bash" -> "/nix/store/r3dsy5j2c16sv26raala6kahff7w18hb-gcc-bootstrap-0-guile-builder" [color = "black"];
"/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" [label = "glibc-2.17.tar.xz.drv", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" -> "/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" [color = "red"];
"/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" -> "/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" [color = "green"];
"/nix/store/q7as3jddipj4g6si8lawrdbkjg0zcjvg-glibc-2.17.tar.xz-guile-builder" -> "/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" [color = "blue"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" [color = "magenta"];
"/nix/store/q7as3jddipj4g6si8lawrdbkjg0zcjvg-glibc-2.17.tar.xz-guile-builder" [label = "glibc-2.17.tar.xz-guile-builder", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" [label = "guile-bootstrap-2.0.drv", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" -> "/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" [color = "burlywood"];
"/nix/store/jaaqdl979wjirnbxz1jqsipg22nva5n4-bash" -> "/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" [color = "black"];
"/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" [label = "build-bootstrap-guile.sh", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" -> "/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" [color = "red"];
"/nix/store/4xv2y0m6zr2lgi8x8pcb3zxjqxsz69kj-mkdir" -> "/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" [color = "green"];
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" -> "/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" [color = "blue"];
"/nix/store/c450lqvaaz3ngx9pfiiiw55rqq6ssfda-guile-2.0.7.tar.xz" -> "/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" [color = "magenta"];
"/nix/store/4xv2y0m6zr2lgi8x8pcb3zxjqxsz69kj-mkdir" [label = "mkdir", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/c450lqvaaz3ngx9pfiiiw55rqq6ssfda-guile-2.0.7.tar.xz" [label = "guile-2.0.7.tar.xz", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" [label = "module-import-compiled.drv", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/8jiqjlb6zxjys16ca7s6jvxcc620c71k-module-import-compiled-guile-builder" -> "/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" [color = "burlywood"];
"/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" -> "/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" [color = "black"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" [color = "red"];
"/nix/store/8jiqjlb6zxjys16ca7s6jvxcc620c71k-module-import-compiled-guile-builder" [label = "module-import-compiled-guile-builder", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/yfixjx2gpvsi5dhkpdx5gj6gx0xdk1c8-module-import-guile-builder" [label = "module-import-guile-builder", fontname = "dejavu sans", shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/abagrdbdndkd0y2dwk0nw1gw0g0rhl2z-ftp-client.scm" -> "/nix/store/yfixjx2gpvsi5dhkpdx5gj6gx0xdk1c8-module-import-guile-builder" [color = "green"];
"/nix/store/dwd2iwd1ban8a8rmx568dpgrbkkidfhw-download.scm" -> "/nix/store/yfixjx2gpvsi5dhkpdx5gj6gx0xdk1c8-module-import-guile-builder" [color = "blue"];
"/nix/store/mj7amprgvl2rgash1nr0v64apik8vc7f-utils.scm" -> "/nix/store/yfixjx2gpvsi5dhkpdx5gj6gx0xdk1c8-module-import-guile-builder" [color = "magenta"];
}
-111
View File
@@ -1,111 +0,0 @@
digraph "Guix bag" {
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" [label = "glibc-intermediate-2.24", shape = box, fontname = "dejavu sans"];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/wx8ifbb7x22cl4998fyldsr24fcv18j3-texinfo-6.3.drv" [color = magenta];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/ccj3as3258l70lmphi48hs7n017wv75s-perl-boot0-5.24.0.drv" [color = magenta];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/w9adgzgdqkwz0w13zxf2fn363v9wcllc-gcc-cross-boot0-4.9.4.drv" [color = magenta];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/72snmrnjphwjxffknjhzm3xg38wd08al-ld-wrapper-x86_64-guix-linux-gnu-0.drv" [color = magenta];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/v1v7jp438hc5rpgriwpjp04x049vh0g4-binutils-cross-boot0-2.27.drv" [color = magenta];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/1jpld53g41rzv2bmjp6v9mckmyw75vs3-make-boot0-4.2.1.drv" [color = magenta];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/zpphawi07xidhfs2dja3w7hmnfp99j02-diffutils-boot0-3.5.drv" [color = magenta];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/m4900ip34w4rcgn5620iqdi1wv198d9s-findutils-boot0-4.6.0.drv" [color = magenta];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/nwzyr3xskw0ms8cndffsfvhvm5xz96pc-file-boot0-5.28.drv" [color = magenta];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/wda0p45jlbzg6w9j8zxw2sd11n2a4pbv-glibc-bootstrap-0.drv" [color = magenta];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/jxlg2pb4bhxjld9kimc0vgc1pvgifzag-gcc-bootstrap-0.drv" [color = magenta];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = magenta];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = magenta];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/jxlg2pb4bhxjld9kimc0vgc1pvgifzag-gcc-bootstrap-0.drv" [color = magenta];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = magenta];
"/gnu/store/aymf6jlxxpwgr71rkiz24m646nqsyii6-glibc-intermediate-2.24.drv" -> "/gnu/store/5syba2bxhh8z79jhq83fzy8fxcx5xb4s-linux-libre-headers-4.4.18.drv" [color = magenta];
"/gnu/store/wx8ifbb7x22cl4998fyldsr24fcv18j3-texinfo-6.3.drv" [label = "texinfo-6.3", shape = box, fontname = "dejavu sans"];
"/gnu/store/wx8ifbb7x22cl4998fyldsr24fcv18j3-texinfo-6.3.drv" -> "/gnu/store/1jpld53g41rzv2bmjp6v9mckmyw75vs3-make-boot0-4.2.1.drv" [color = cyan3];
"/gnu/store/wx8ifbb7x22cl4998fyldsr24fcv18j3-texinfo-6.3.drv" -> "/gnu/store/zpphawi07xidhfs2dja3w7hmnfp99j02-diffutils-boot0-3.5.drv" [color = cyan3];
"/gnu/store/wx8ifbb7x22cl4998fyldsr24fcv18j3-texinfo-6.3.drv" -> "/gnu/store/m4900ip34w4rcgn5620iqdi1wv198d9s-findutils-boot0-4.6.0.drv" [color = cyan3];
"/gnu/store/wx8ifbb7x22cl4998fyldsr24fcv18j3-texinfo-6.3.drv" -> "/gnu/store/nwzyr3xskw0ms8cndffsfvhvm5xz96pc-file-boot0-5.28.drv" [color = cyan3];
"/gnu/store/wx8ifbb7x22cl4998fyldsr24fcv18j3-texinfo-6.3.drv" -> "/gnu/store/wda0p45jlbzg6w9j8zxw2sd11n2a4pbv-glibc-bootstrap-0.drv" [color = cyan3];
"/gnu/store/wx8ifbb7x22cl4998fyldsr24fcv18j3-texinfo-6.3.drv" -> "/gnu/store/jxlg2pb4bhxjld9kimc0vgc1pvgifzag-gcc-bootstrap-0.drv" [color = cyan3];
"/gnu/store/wx8ifbb7x22cl4998fyldsr24fcv18j3-texinfo-6.3.drv" -> "/gnu/store/wv8sf8h4n9s5cdya223iy2wp3alr92x8-binutils-bootstrap-0.drv" [color = cyan3];
"/gnu/store/wx8ifbb7x22cl4998fyldsr24fcv18j3-texinfo-6.3.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = cyan3];
"/gnu/store/wx8ifbb7x22cl4998fyldsr24fcv18j3-texinfo-6.3.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = cyan3];
"/gnu/store/wx8ifbb7x22cl4998fyldsr24fcv18j3-texinfo-6.3.drv" -> "/gnu/store/ccj3as3258l70lmphi48hs7n017wv75s-perl-boot0-5.24.0.drv" [color = cyan3];
"/gnu/store/1jpld53g41rzv2bmjp6v9mckmyw75vs3-make-boot0-4.2.1.drv" [label = "make-boot0-4.2.1", shape = box, fontname = "dejavu sans"];
"/gnu/store/1jpld53g41rzv2bmjp6v9mckmyw75vs3-make-boot0-4.2.1.drv" -> "/gnu/store/wda0p45jlbzg6w9j8zxw2sd11n2a4pbv-glibc-bootstrap-0.drv" [color = dimgrey];
"/gnu/store/1jpld53g41rzv2bmjp6v9mckmyw75vs3-make-boot0-4.2.1.drv" -> "/gnu/store/jxlg2pb4bhxjld9kimc0vgc1pvgifzag-gcc-bootstrap-0.drv" [color = dimgrey];
"/gnu/store/1jpld53g41rzv2bmjp6v9mckmyw75vs3-make-boot0-4.2.1.drv" -> "/gnu/store/wv8sf8h4n9s5cdya223iy2wp3alr92x8-binutils-bootstrap-0.drv" [color = dimgrey];
"/gnu/store/1jpld53g41rzv2bmjp6v9mckmyw75vs3-make-boot0-4.2.1.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/1jpld53g41rzv2bmjp6v9mckmyw75vs3-make-boot0-4.2.1.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/wda0p45jlbzg6w9j8zxw2sd11n2a4pbv-glibc-bootstrap-0.drv" [label = "glibc-bootstrap-0", shape = box, fontname = "dejavu sans"];
"/gnu/store/jxlg2pb4bhxjld9kimc0vgc1pvgifzag-gcc-bootstrap-0.drv" [label = "gcc-bootstrap-0", shape = box, fontname = "dejavu sans"];
"/gnu/store/jxlg2pb4bhxjld9kimc0vgc1pvgifzag-gcc-bootstrap-0.drv" -> "/gnu/store/wda0p45jlbzg6w9j8zxw2sd11n2a4pbv-glibc-bootstrap-0.drv" [color = darkseagreen];
"/gnu/store/wv8sf8h4n9s5cdya223iy2wp3alr92x8-binutils-bootstrap-0.drv" [label = "binutils-bootstrap-0", shape = box, fontname = "dejavu sans"];
"/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [label = "bootstrap-binaries-0", shape = box, fontname = "dejavu sans"];
"/gnu/store/zpphawi07xidhfs2dja3w7hmnfp99j02-diffutils-boot0-3.5.drv" [label = "diffutils-boot0-3.5", shape = box, fontname = "dejavu sans"];
"/gnu/store/zpphawi07xidhfs2dja3w7hmnfp99j02-diffutils-boot0-3.5.drv" -> "/gnu/store/1jpld53g41rzv2bmjp6v9mckmyw75vs3-make-boot0-4.2.1.drv" [color = blue];
"/gnu/store/zpphawi07xidhfs2dja3w7hmnfp99j02-diffutils-boot0-3.5.drv" -> "/gnu/store/wda0p45jlbzg6w9j8zxw2sd11n2a4pbv-glibc-bootstrap-0.drv" [color = blue];
"/gnu/store/zpphawi07xidhfs2dja3w7hmnfp99j02-diffutils-boot0-3.5.drv" -> "/gnu/store/jxlg2pb4bhxjld9kimc0vgc1pvgifzag-gcc-bootstrap-0.drv" [color = blue];
"/gnu/store/zpphawi07xidhfs2dja3w7hmnfp99j02-diffutils-boot0-3.5.drv" -> "/gnu/store/wv8sf8h4n9s5cdya223iy2wp3alr92x8-binutils-bootstrap-0.drv" [color = blue];
"/gnu/store/zpphawi07xidhfs2dja3w7hmnfp99j02-diffutils-boot0-3.5.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/zpphawi07xidhfs2dja3w7hmnfp99j02-diffutils-boot0-3.5.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/m4900ip34w4rcgn5620iqdi1wv198d9s-findutils-boot0-4.6.0.drv" [label = "findutils-boot0-4.6.0", shape = box, fontname = "dejavu sans"];
"/gnu/store/m4900ip34w4rcgn5620iqdi1wv198d9s-findutils-boot0-4.6.0.drv" -> "/gnu/store/1jpld53g41rzv2bmjp6v9mckmyw75vs3-make-boot0-4.2.1.drv" [color = blue];
"/gnu/store/m4900ip34w4rcgn5620iqdi1wv198d9s-findutils-boot0-4.6.0.drv" -> "/gnu/store/zpphawi07xidhfs2dja3w7hmnfp99j02-diffutils-boot0-3.5.drv" [color = blue];
"/gnu/store/m4900ip34w4rcgn5620iqdi1wv198d9s-findutils-boot0-4.6.0.drv" -> "/gnu/store/wda0p45jlbzg6w9j8zxw2sd11n2a4pbv-glibc-bootstrap-0.drv" [color = blue];
"/gnu/store/m4900ip34w4rcgn5620iqdi1wv198d9s-findutils-boot0-4.6.0.drv" -> "/gnu/store/jxlg2pb4bhxjld9kimc0vgc1pvgifzag-gcc-bootstrap-0.drv" [color = blue];
"/gnu/store/m4900ip34w4rcgn5620iqdi1wv198d9s-findutils-boot0-4.6.0.drv" -> "/gnu/store/wv8sf8h4n9s5cdya223iy2wp3alr92x8-binutils-bootstrap-0.drv" [color = blue];
"/gnu/store/m4900ip34w4rcgn5620iqdi1wv198d9s-findutils-boot0-4.6.0.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/m4900ip34w4rcgn5620iqdi1wv198d9s-findutils-boot0-4.6.0.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/nwzyr3xskw0ms8cndffsfvhvm5xz96pc-file-boot0-5.28.drv" [label = "file-boot0-5.28", shape = box, fontname = "dejavu sans"];
"/gnu/store/nwzyr3xskw0ms8cndffsfvhvm5xz96pc-file-boot0-5.28.drv" -> "/gnu/store/1jpld53g41rzv2bmjp6v9mckmyw75vs3-make-boot0-4.2.1.drv" [color = darkgoldenrod];
"/gnu/store/nwzyr3xskw0ms8cndffsfvhvm5xz96pc-file-boot0-5.28.drv" -> "/gnu/store/wda0p45jlbzg6w9j8zxw2sd11n2a4pbv-glibc-bootstrap-0.drv" [color = darkgoldenrod];
"/gnu/store/nwzyr3xskw0ms8cndffsfvhvm5xz96pc-file-boot0-5.28.drv" -> "/gnu/store/jxlg2pb4bhxjld9kimc0vgc1pvgifzag-gcc-bootstrap-0.drv" [color = darkgoldenrod];
"/gnu/store/nwzyr3xskw0ms8cndffsfvhvm5xz96pc-file-boot0-5.28.drv" -> "/gnu/store/wv8sf8h4n9s5cdya223iy2wp3alr92x8-binutils-bootstrap-0.drv" [color = darkgoldenrod];
"/gnu/store/nwzyr3xskw0ms8cndffsfvhvm5xz96pc-file-boot0-5.28.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = darkgoldenrod];
"/gnu/store/nwzyr3xskw0ms8cndffsfvhvm5xz96pc-file-boot0-5.28.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = darkgoldenrod];
"/gnu/store/ccj3as3258l70lmphi48hs7n017wv75s-perl-boot0-5.24.0.drv" [label = "perl-boot0-5.24.0", shape = box, fontname = "dejavu sans"];
"/gnu/store/ccj3as3258l70lmphi48hs7n017wv75s-perl-boot0-5.24.0.drv" -> "/gnu/store/1jpld53g41rzv2bmjp6v9mckmyw75vs3-make-boot0-4.2.1.drv" [color = peachpuff4];
"/gnu/store/ccj3as3258l70lmphi48hs7n017wv75s-perl-boot0-5.24.0.drv" -> "/gnu/store/zpphawi07xidhfs2dja3w7hmnfp99j02-diffutils-boot0-3.5.drv" [color = peachpuff4];
"/gnu/store/ccj3as3258l70lmphi48hs7n017wv75s-perl-boot0-5.24.0.drv" -> "/gnu/store/m4900ip34w4rcgn5620iqdi1wv198d9s-findutils-boot0-4.6.0.drv" [color = peachpuff4];
"/gnu/store/ccj3as3258l70lmphi48hs7n017wv75s-perl-boot0-5.24.0.drv" -> "/gnu/store/nwzyr3xskw0ms8cndffsfvhvm5xz96pc-file-boot0-5.28.drv" [color = peachpuff4];
"/gnu/store/ccj3as3258l70lmphi48hs7n017wv75s-perl-boot0-5.24.0.drv" -> "/gnu/store/wda0p45jlbzg6w9j8zxw2sd11n2a4pbv-glibc-bootstrap-0.drv" [color = peachpuff4];
"/gnu/store/ccj3as3258l70lmphi48hs7n017wv75s-perl-boot0-5.24.0.drv" -> "/gnu/store/jxlg2pb4bhxjld9kimc0vgc1pvgifzag-gcc-bootstrap-0.drv" [color = peachpuff4];
"/gnu/store/ccj3as3258l70lmphi48hs7n017wv75s-perl-boot0-5.24.0.drv" -> "/gnu/store/wv8sf8h4n9s5cdya223iy2wp3alr92x8-binutils-bootstrap-0.drv" [color = peachpuff4];
"/gnu/store/ccj3as3258l70lmphi48hs7n017wv75s-perl-boot0-5.24.0.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/ccj3as3258l70lmphi48hs7n017wv75s-perl-boot0-5.24.0.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/w9adgzgdqkwz0w13zxf2fn363v9wcllc-gcc-cross-boot0-4.9.4.drv" [label = "gcc-cross-boot0-4.9.4", shape = box, fontname = "dejavu sans"];
"/gnu/store/w9adgzgdqkwz0w13zxf2fn363v9wcllc-gcc-cross-boot0-4.9.4.drv" -> "/gnu/store/v1v7jp438hc5rpgriwpjp04x049vh0g4-binutils-cross-boot0-2.27.drv" [color = darkseagreen];
"/gnu/store/w9adgzgdqkwz0w13zxf2fn363v9wcllc-gcc-cross-boot0-4.9.4.drv" -> "/gnu/store/wda0p45jlbzg6w9j8zxw2sd11n2a4pbv-glibc-bootstrap-0.drv" [color = darkseagreen];
"/gnu/store/w9adgzgdqkwz0w13zxf2fn363v9wcllc-gcc-cross-boot0-4.9.4.drv" -> "/gnu/store/1jpld53g41rzv2bmjp6v9mckmyw75vs3-make-boot0-4.2.1.drv" [color = darkseagreen];
"/gnu/store/w9adgzgdqkwz0w13zxf2fn363v9wcllc-gcc-cross-boot0-4.9.4.drv" -> "/gnu/store/zpphawi07xidhfs2dja3w7hmnfp99j02-diffutils-boot0-3.5.drv" [color = darkseagreen];
"/gnu/store/w9adgzgdqkwz0w13zxf2fn363v9wcllc-gcc-cross-boot0-4.9.4.drv" -> "/gnu/store/m4900ip34w4rcgn5620iqdi1wv198d9s-findutils-boot0-4.6.0.drv" [color = darkseagreen];
"/gnu/store/w9adgzgdqkwz0w13zxf2fn363v9wcllc-gcc-cross-boot0-4.9.4.drv" -> "/gnu/store/nwzyr3xskw0ms8cndffsfvhvm5xz96pc-file-boot0-5.28.drv" [color = darkseagreen];
"/gnu/store/w9adgzgdqkwz0w13zxf2fn363v9wcllc-gcc-cross-boot0-4.9.4.drv" -> "/gnu/store/jxlg2pb4bhxjld9kimc0vgc1pvgifzag-gcc-bootstrap-0.drv" [color = darkseagreen];
"/gnu/store/w9adgzgdqkwz0w13zxf2fn363v9wcllc-gcc-cross-boot0-4.9.4.drv" -> "/gnu/store/wv8sf8h4n9s5cdya223iy2wp3alr92x8-binutils-bootstrap-0.drv" [color = darkseagreen];
"/gnu/store/w9adgzgdqkwz0w13zxf2fn363v9wcllc-gcc-cross-boot0-4.9.4.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/w9adgzgdqkwz0w13zxf2fn363v9wcllc-gcc-cross-boot0-4.9.4.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/v1v7jp438hc5rpgriwpjp04x049vh0g4-binutils-cross-boot0-2.27.drv" [label = "binutils-cross-boot0-2.27", shape = box, fontname = "dejavu sans"];
"/gnu/store/v1v7jp438hc5rpgriwpjp04x049vh0g4-binutils-cross-boot0-2.27.drv" -> "/gnu/store/1jpld53g41rzv2bmjp6v9mckmyw75vs3-make-boot0-4.2.1.drv" [color = dimgrey];
"/gnu/store/v1v7jp438hc5rpgriwpjp04x049vh0g4-binutils-cross-boot0-2.27.drv" -> "/gnu/store/zpphawi07xidhfs2dja3w7hmnfp99j02-diffutils-boot0-3.5.drv" [color = dimgrey];
"/gnu/store/v1v7jp438hc5rpgriwpjp04x049vh0g4-binutils-cross-boot0-2.27.drv" -> "/gnu/store/m4900ip34w4rcgn5620iqdi1wv198d9s-findutils-boot0-4.6.0.drv" [color = dimgrey];
"/gnu/store/v1v7jp438hc5rpgriwpjp04x049vh0g4-binutils-cross-boot0-2.27.drv" -> "/gnu/store/nwzyr3xskw0ms8cndffsfvhvm5xz96pc-file-boot0-5.28.drv" [color = dimgrey];
"/gnu/store/v1v7jp438hc5rpgriwpjp04x049vh0g4-binutils-cross-boot0-2.27.drv" -> "/gnu/store/wda0p45jlbzg6w9j8zxw2sd11n2a4pbv-glibc-bootstrap-0.drv" [color = dimgrey];
"/gnu/store/v1v7jp438hc5rpgriwpjp04x049vh0g4-binutils-cross-boot0-2.27.drv" -> "/gnu/store/jxlg2pb4bhxjld9kimc0vgc1pvgifzag-gcc-bootstrap-0.drv" [color = dimgrey];
"/gnu/store/v1v7jp438hc5rpgriwpjp04x049vh0g4-binutils-cross-boot0-2.27.drv" -> "/gnu/store/wv8sf8h4n9s5cdya223iy2wp3alr92x8-binutils-bootstrap-0.drv" [color = dimgrey];
"/gnu/store/v1v7jp438hc5rpgriwpjp04x049vh0g4-binutils-cross-boot0-2.27.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/v1v7jp438hc5rpgriwpjp04x049vh0g4-binutils-cross-boot0-2.27.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/72snmrnjphwjxffknjhzm3xg38wd08al-ld-wrapper-x86_64-guix-linux-gnu-0.drv" [label = "ld-wrapper-x86_64-guix-linux-gnu-0", shape = box, fontname = "dejavu sans"];
"/gnu/store/72snmrnjphwjxffknjhzm3xg38wd08al-ld-wrapper-x86_64-guix-linux-gnu-0.drv" -> "/gnu/store/v1v7jp438hc5rpgriwpjp04x049vh0g4-binutils-cross-boot0-2.27.drv" [color = dimgrey];
"/gnu/store/72snmrnjphwjxffknjhzm3xg38wd08al-ld-wrapper-x86_64-guix-linux-gnu-0.drv" -> "/gnu/store/af19ma2vm3qhvh3rw6cdivyp98s18bj3-guile-bootstrap-2.0.drv" [color = dimgrey];
"/gnu/store/72snmrnjphwjxffknjhzm3xg38wd08al-ld-wrapper-x86_64-guix-linux-gnu-0.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/af19ma2vm3qhvh3rw6cdivyp98s18bj3-guile-bootstrap-2.0.drv" [label = "guile-bootstrap-2.0", shape = box, fontname = "dejavu sans"];
"/gnu/store/5syba2bxhh8z79jhq83fzy8fxcx5xb4s-linux-libre-headers-4.4.18.drv" [label = "linux-libre-headers-4.4.18", shape = box, fontname = "dejavu sans"];
"/gnu/store/5syba2bxhh8z79jhq83fzy8fxcx5xb4s-linux-libre-headers-4.4.18.drv" -> "/gnu/store/ccj3as3258l70lmphi48hs7n017wv75s-perl-boot0-5.24.0.drv" [color = blue];
"/gnu/store/5syba2bxhh8z79jhq83fzy8fxcx5xb4s-linux-libre-headers-4.4.18.drv" -> "/gnu/store/1jpld53g41rzv2bmjp6v9mckmyw75vs3-make-boot0-4.2.1.drv" [color = blue];
"/gnu/store/5syba2bxhh8z79jhq83fzy8fxcx5xb4s-linux-libre-headers-4.4.18.drv" -> "/gnu/store/zpphawi07xidhfs2dja3w7hmnfp99j02-diffutils-boot0-3.5.drv" [color = blue];
"/gnu/store/5syba2bxhh8z79jhq83fzy8fxcx5xb4s-linux-libre-headers-4.4.18.drv" -> "/gnu/store/m4900ip34w4rcgn5620iqdi1wv198d9s-findutils-boot0-4.6.0.drv" [color = blue];
"/gnu/store/5syba2bxhh8z79jhq83fzy8fxcx5xb4s-linux-libre-headers-4.4.18.drv" -> "/gnu/store/nwzyr3xskw0ms8cndffsfvhvm5xz96pc-file-boot0-5.28.drv" [color = blue];
"/gnu/store/5syba2bxhh8z79jhq83fzy8fxcx5xb4s-linux-libre-headers-4.4.18.drv" -> "/gnu/store/wda0p45jlbzg6w9j8zxw2sd11n2a4pbv-glibc-bootstrap-0.drv" [color = blue];
"/gnu/store/5syba2bxhh8z79jhq83fzy8fxcx5xb4s-linux-libre-headers-4.4.18.drv" -> "/gnu/store/jxlg2pb4bhxjld9kimc0vgc1pvgifzag-gcc-bootstrap-0.drv" [color = blue];
"/gnu/store/5syba2bxhh8z79jhq83fzy8fxcx5xb4s-linux-libre-headers-4.4.18.drv" -> "/gnu/store/wv8sf8h4n9s5cdya223iy2wp3alr92x8-binutils-bootstrap-0.drv" [color = blue];
"/gnu/store/5syba2bxhh8z79jhq83fzy8fxcx5xb4s-linux-libre-headers-4.4.18.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/5syba2bxhh8z79jhq83fzy8fxcx5xb4s-linux-libre-headers-4.4.18.drv" -> "/gnu/store/pmvh852v0x1zbl4r37pcpdqnq6m3bwfk-bootstrap-binaries-0.drv" [color = blue];
}
-215
View File
@@ -1,215 +0,0 @@
digraph "Guix bag-emerged" {
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" [label = "coreutils-8.25", shape = box, fontname = "dejavu sans"];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/7ijl8lybdx95kndajavdrpz05jdiwy9g-tar-1.29.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/0ykf3p023pzfcg2bw8ahjc7cvmc12zjq-gzip-1.8.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/xx3hiqhqn0d94zz7b46hgggwsz3wjiiw-bzip2-1.0.6.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/kz8rzasivw4aflsv4rll3m539xybf226-xz-5.2.2.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/3pwrlsd23k2h104akxfj3cxhqcp973g9-file-5.28.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/f1ww5vh5abnvr8b24llipm5dl89s5lq2-diffutils-3.5.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/0cbgdhhyh7hsgwq1x54n9vnq99rfjch9-patch-2.7.5.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/8xjnm44dfwwxp90hxq6zhb6qvia7rb3l-sed-4.2.2.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/54wjl6dp6rp47r67f4nyfqyv8nh456yc-findutils-4.6.0.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/k951w49yw74ikg19l4mmlwfrq9w7a7zd-gawk-4.1.4.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/n48xdjkvhlhj5mgdzy59n0dpb9vn0v78-grep-2.25.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/i52csyja3036ns0zj6z85lkgz3wfyym7-coreutils-8.25.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/nv4mnbz3mpd4gv80djk7762wyvxpccqk-make-4.2.1.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/2c60vlcvpj5dvmgklajkp7cpynhcqixr-bash-4.4.0.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/zhc5c4s0xvzizpgpq2za6x84vxv57iy6-ld-wrapper-0.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/9k1js0kalh4s6q4hf0rgg2n0zdyrwi69-binutils-2.27.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/hv3dl3my12mq0gkwvckmnqccnckn39l0-gcc-4.9.4.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/qbfynm50snyn31w2c3paiw2n6wvzksg8-glibc-2.24.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/ir0lq2x7h64g2z5mlqvnlysjk2bc9xka-glibc-utf8-locales-2.24.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" [color = cyan3];
"/gnu/store/yv2r96w2dvbb0sjrf9f2imybpnyd616b-coreutils-8.25.drv" -> "/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" [color = cyan3];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" [label = "perl-5.24.0", shape = box, fontname = "dejavu sans"];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/7ijl8lybdx95kndajavdrpz05jdiwy9g-tar-1.29.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/0ykf3p023pzfcg2bw8ahjc7cvmc12zjq-gzip-1.8.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/xx3hiqhqn0d94zz7b46hgggwsz3wjiiw-bzip2-1.0.6.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/kz8rzasivw4aflsv4rll3m539xybf226-xz-5.2.2.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/3pwrlsd23k2h104akxfj3cxhqcp973g9-file-5.28.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/f1ww5vh5abnvr8b24llipm5dl89s5lq2-diffutils-3.5.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/0cbgdhhyh7hsgwq1x54n9vnq99rfjch9-patch-2.7.5.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/8xjnm44dfwwxp90hxq6zhb6qvia7rb3l-sed-4.2.2.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/54wjl6dp6rp47r67f4nyfqyv8nh456yc-findutils-4.6.0.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/k951w49yw74ikg19l4mmlwfrq9w7a7zd-gawk-4.1.4.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/n48xdjkvhlhj5mgdzy59n0dpb9vn0v78-grep-2.25.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/i52csyja3036ns0zj6z85lkgz3wfyym7-coreutils-8.25.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/nv4mnbz3mpd4gv80djk7762wyvxpccqk-make-4.2.1.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/2c60vlcvpj5dvmgklajkp7cpynhcqixr-bash-4.4.0.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/zhc5c4s0xvzizpgpq2za6x84vxv57iy6-ld-wrapper-0.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/9k1js0kalh4s6q4hf0rgg2n0zdyrwi69-binutils-2.27.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/hv3dl3my12mq0gkwvckmnqccnckn39l0-gcc-4.9.4.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/qbfynm50snyn31w2c3paiw2n6wvzksg8-glibc-2.24.drv" [color = blue];
"/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" -> "/gnu/store/ir0lq2x7h64g2z5mlqvnlysjk2bc9xka-glibc-utf8-locales-2.24.drv" [color = blue];
"/gnu/store/7ijl8lybdx95kndajavdrpz05jdiwy9g-tar-1.29.drv" [label = "tar-1.29", shape = box, fontname = "dejavu sans"];
"/gnu/store/0ykf3p023pzfcg2bw8ahjc7cvmc12zjq-gzip-1.8.drv" [label = "gzip-1.8", shape = box, fontname = "dejavu sans"];
"/gnu/store/xx3hiqhqn0d94zz7b46hgggwsz3wjiiw-bzip2-1.0.6.drv" [label = "bzip2-1.0.6", shape = box, fontname = "dejavu sans"];
"/gnu/store/kz8rzasivw4aflsv4rll3m539xybf226-xz-5.2.2.drv" [label = "xz-5.2.2", shape = box, fontname = "dejavu sans"];
"/gnu/store/3pwrlsd23k2h104akxfj3cxhqcp973g9-file-5.28.drv" [label = "file-5.28", shape = box, fontname = "dejavu sans"];
"/gnu/store/f1ww5vh5abnvr8b24llipm5dl89s5lq2-diffutils-3.5.drv" [label = "diffutils-3.5", shape = box, fontname = "dejavu sans"];
"/gnu/store/0cbgdhhyh7hsgwq1x54n9vnq99rfjch9-patch-2.7.5.drv" [label = "patch-2.7.5", shape = box, fontname = "dejavu sans"];
"/gnu/store/8xjnm44dfwwxp90hxq6zhb6qvia7rb3l-sed-4.2.2.drv" [label = "sed-4.2.2", shape = box, fontname = "dejavu sans"];
"/gnu/store/54wjl6dp6rp47r67f4nyfqyv8nh456yc-findutils-4.6.0.drv" [label = "findutils-4.6.0", shape = box, fontname = "dejavu sans"];
"/gnu/store/k951w49yw74ikg19l4mmlwfrq9w7a7zd-gawk-4.1.4.drv" [label = "gawk-4.1.4", shape = box, fontname = "dejavu sans"];
"/gnu/store/n48xdjkvhlhj5mgdzy59n0dpb9vn0v78-grep-2.25.drv" [label = "grep-2.25", shape = box, fontname = "dejavu sans"];
"/gnu/store/i52csyja3036ns0zj6z85lkgz3wfyym7-coreutils-8.25.drv" [label = "coreutils-8.25", shape = box, fontname = "dejavu sans"];
"/gnu/store/nv4mnbz3mpd4gv80djk7762wyvxpccqk-make-4.2.1.drv" [label = "make-4.2.1", shape = box, fontname = "dejavu sans"];
"/gnu/store/2c60vlcvpj5dvmgklajkp7cpynhcqixr-bash-4.4.0.drv" [label = "bash-4.4.0", shape = box, fontname = "dejavu sans"];
"/gnu/store/zhc5c4s0xvzizpgpq2za6x84vxv57iy6-ld-wrapper-0.drv" [label = "ld-wrapper-0", shape = box, fontname = "dejavu sans"];
"/gnu/store/9k1js0kalh4s6q4hf0rgg2n0zdyrwi69-binutils-2.27.drv" [label = "binutils-2.27", shape = box, fontname = "dejavu sans"];
"/gnu/store/hv3dl3my12mq0gkwvckmnqccnckn39l0-gcc-4.9.4.drv" [label = "gcc-4.9.4", shape = box, fontname = "dejavu sans"];
"/gnu/store/qbfynm50snyn31w2c3paiw2n6wvzksg8-glibc-2.24.drv" [label = "glibc-2.24", shape = box, fontname = "dejavu sans"];
"/gnu/store/ir0lq2x7h64g2z5mlqvnlysjk2bc9xka-glibc-utf8-locales-2.24.drv" [label = "glibc-utf8-locales-2.24", shape = box, fontname = "dejavu sans"];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" [label = "acl-2.2.52", shape = box, fontname = "dejavu sans"];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/7ijl8lybdx95kndajavdrpz05jdiwy9g-tar-1.29.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/0ykf3p023pzfcg2bw8ahjc7cvmc12zjq-gzip-1.8.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/xx3hiqhqn0d94zz7b46hgggwsz3wjiiw-bzip2-1.0.6.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/kz8rzasivw4aflsv4rll3m539xybf226-xz-5.2.2.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/3pwrlsd23k2h104akxfj3cxhqcp973g9-file-5.28.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/f1ww5vh5abnvr8b24llipm5dl89s5lq2-diffutils-3.5.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/0cbgdhhyh7hsgwq1x54n9vnq99rfjch9-patch-2.7.5.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/8xjnm44dfwwxp90hxq6zhb6qvia7rb3l-sed-4.2.2.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/54wjl6dp6rp47r67f4nyfqyv8nh456yc-findutils-4.6.0.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/k951w49yw74ikg19l4mmlwfrq9w7a7zd-gawk-4.1.4.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/n48xdjkvhlhj5mgdzy59n0dpb9vn0v78-grep-2.25.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/i52csyja3036ns0zj6z85lkgz3wfyym7-coreutils-8.25.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/nv4mnbz3mpd4gv80djk7762wyvxpccqk-make-4.2.1.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/2c60vlcvpj5dvmgklajkp7cpynhcqixr-bash-4.4.0.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/zhc5c4s0xvzizpgpq2za6x84vxv57iy6-ld-wrapper-0.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/9k1js0kalh4s6q4hf0rgg2n0zdyrwi69-binutils-2.27.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/hv3dl3my12mq0gkwvckmnqccnckn39l0-gcc-4.9.4.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/qbfynm50snyn31w2c3paiw2n6wvzksg8-glibc-2.24.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/ir0lq2x7h64g2z5mlqvnlysjk2bc9xka-glibc-utf8-locales-2.24.drv" [color = darkgoldenrod];
"/gnu/store/ywmblv73pqa8lqqz368g46ysz65pnm0v-acl-2.2.52.drv" -> "/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" [color = darkgoldenrod];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" [label = "gettext-minimal-0.19.8.1", shape = box, fontname = "dejavu sans"];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/7ijl8lybdx95kndajavdrpz05jdiwy9g-tar-1.29.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/0ykf3p023pzfcg2bw8ahjc7cvmc12zjq-gzip-1.8.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/xx3hiqhqn0d94zz7b46hgggwsz3wjiiw-bzip2-1.0.6.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/kz8rzasivw4aflsv4rll3m539xybf226-xz-5.2.2.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/3pwrlsd23k2h104akxfj3cxhqcp973g9-file-5.28.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/f1ww5vh5abnvr8b24llipm5dl89s5lq2-diffutils-3.5.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/0cbgdhhyh7hsgwq1x54n9vnq99rfjch9-patch-2.7.5.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/8xjnm44dfwwxp90hxq6zhb6qvia7rb3l-sed-4.2.2.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/54wjl6dp6rp47r67f4nyfqyv8nh456yc-findutils-4.6.0.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/k951w49yw74ikg19l4mmlwfrq9w7a7zd-gawk-4.1.4.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/n48xdjkvhlhj5mgdzy59n0dpb9vn0v78-grep-2.25.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/i52csyja3036ns0zj6z85lkgz3wfyym7-coreutils-8.25.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/nv4mnbz3mpd4gv80djk7762wyvxpccqk-make-4.2.1.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/2c60vlcvpj5dvmgklajkp7cpynhcqixr-bash-4.4.0.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/zhc5c4s0xvzizpgpq2za6x84vxv57iy6-ld-wrapper-0.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/9k1js0kalh4s6q4hf0rgg2n0zdyrwi69-binutils-2.27.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/hv3dl3my12mq0gkwvckmnqccnckn39l0-gcc-4.9.4.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/qbfynm50snyn31w2c3paiw2n6wvzksg8-glibc-2.24.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/ir0lq2x7h64g2z5mlqvnlysjk2bc9xka-glibc-utf8-locales-2.24.drv" [color = dimgrey];
"/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" -> "/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" [color = dimgrey];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" [label = "expat-2.2.0", shape = box, fontname = "dejavu sans"];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/7ijl8lybdx95kndajavdrpz05jdiwy9g-tar-1.29.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/0ykf3p023pzfcg2bw8ahjc7cvmc12zjq-gzip-1.8.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/xx3hiqhqn0d94zz7b46hgggwsz3wjiiw-bzip2-1.0.6.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/kz8rzasivw4aflsv4rll3m539xybf226-xz-5.2.2.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/3pwrlsd23k2h104akxfj3cxhqcp973g9-file-5.28.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/f1ww5vh5abnvr8b24llipm5dl89s5lq2-diffutils-3.5.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/0cbgdhhyh7hsgwq1x54n9vnq99rfjch9-patch-2.7.5.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/8xjnm44dfwwxp90hxq6zhb6qvia7rb3l-sed-4.2.2.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/54wjl6dp6rp47r67f4nyfqyv8nh456yc-findutils-4.6.0.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/k951w49yw74ikg19l4mmlwfrq9w7a7zd-gawk-4.1.4.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/n48xdjkvhlhj5mgdzy59n0dpb9vn0v78-grep-2.25.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/i52csyja3036ns0zj6z85lkgz3wfyym7-coreutils-8.25.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/nv4mnbz3mpd4gv80djk7762wyvxpccqk-make-4.2.1.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/2c60vlcvpj5dvmgklajkp7cpynhcqixr-bash-4.4.0.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/zhc5c4s0xvzizpgpq2za6x84vxv57iy6-ld-wrapper-0.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/9k1js0kalh4s6q4hf0rgg2n0zdyrwi69-binutils-2.27.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/hv3dl3my12mq0gkwvckmnqccnckn39l0-gcc-4.9.4.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/qbfynm50snyn31w2c3paiw2n6wvzksg8-glibc-2.24.drv" [color = darkviolet];
"/gnu/store/4dql1pzyivg87jwyfmmkwc6jll1vnizc-expat-2.2.0.drv" -> "/gnu/store/ir0lq2x7h64g2z5mlqvnlysjk2bc9xka-glibc-utf8-locales-2.24.drv" [color = darkviolet];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" [label = "attr-2.4.47", shape = box, fontname = "dejavu sans"];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/nw68wjvbw505klgpsavq7dk195wg8ffj-gettext-minimal-0.19.8.1.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/7ijl8lybdx95kndajavdrpz05jdiwy9g-tar-1.29.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/0ykf3p023pzfcg2bw8ahjc7cvmc12zjq-gzip-1.8.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/xx3hiqhqn0d94zz7b46hgggwsz3wjiiw-bzip2-1.0.6.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/kz8rzasivw4aflsv4rll3m539xybf226-xz-5.2.2.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/3pwrlsd23k2h104akxfj3cxhqcp973g9-file-5.28.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/f1ww5vh5abnvr8b24llipm5dl89s5lq2-diffutils-3.5.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/0cbgdhhyh7hsgwq1x54n9vnq99rfjch9-patch-2.7.5.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/8xjnm44dfwwxp90hxq6zhb6qvia7rb3l-sed-4.2.2.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/54wjl6dp6rp47r67f4nyfqyv8nh456yc-findutils-4.6.0.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/k951w49yw74ikg19l4mmlwfrq9w7a7zd-gawk-4.1.4.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/n48xdjkvhlhj5mgdzy59n0dpb9vn0v78-grep-2.25.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/i52csyja3036ns0zj6z85lkgz3wfyym7-coreutils-8.25.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/nv4mnbz3mpd4gv80djk7762wyvxpccqk-make-4.2.1.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/2c60vlcvpj5dvmgklajkp7cpynhcqixr-bash-4.4.0.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/zhc5c4s0xvzizpgpq2za6x84vxv57iy6-ld-wrapper-0.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/9k1js0kalh4s6q4hf0rgg2n0zdyrwi69-binutils-2.27.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/hv3dl3my12mq0gkwvckmnqccnckn39l0-gcc-4.9.4.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/qbfynm50snyn31w2c3paiw2n6wvzksg8-glibc-2.24.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/ir0lq2x7h64g2z5mlqvnlysjk2bc9xka-glibc-utf8-locales-2.24.drv" [color = peachpuff4];
"/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" -> "/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" [color = peachpuff4];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" [label = "gmp-6.1.1", shape = box, fontname = "dejavu sans"];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/7ijl8lybdx95kndajavdrpz05jdiwy9g-tar-1.29.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/0ykf3p023pzfcg2bw8ahjc7cvmc12zjq-gzip-1.8.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/xx3hiqhqn0d94zz7b46hgggwsz3wjiiw-bzip2-1.0.6.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/kz8rzasivw4aflsv4rll3m539xybf226-xz-5.2.2.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/3pwrlsd23k2h104akxfj3cxhqcp973g9-file-5.28.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/f1ww5vh5abnvr8b24llipm5dl89s5lq2-diffutils-3.5.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/0cbgdhhyh7hsgwq1x54n9vnq99rfjch9-patch-2.7.5.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/8xjnm44dfwwxp90hxq6zhb6qvia7rb3l-sed-4.2.2.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/54wjl6dp6rp47r67f4nyfqyv8nh456yc-findutils-4.6.0.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/k951w49yw74ikg19l4mmlwfrq9w7a7zd-gawk-4.1.4.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/n48xdjkvhlhj5mgdzy59n0dpb9vn0v78-grep-2.25.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/i52csyja3036ns0zj6z85lkgz3wfyym7-coreutils-8.25.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/nv4mnbz3mpd4gv80djk7762wyvxpccqk-make-4.2.1.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/2c60vlcvpj5dvmgklajkp7cpynhcqixr-bash-4.4.0.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/zhc5c4s0xvzizpgpq2za6x84vxv57iy6-ld-wrapper-0.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/9k1js0kalh4s6q4hf0rgg2n0zdyrwi69-binutils-2.27.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/hv3dl3my12mq0gkwvckmnqccnckn39l0-gcc-4.9.4.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/qbfynm50snyn31w2c3paiw2n6wvzksg8-glibc-2.24.drv" [color = darkgoldenrod];
"/gnu/store/7gqg2kmrm1bjgphnd70ps5c11gqml571-gmp-6.1.1.drv" -> "/gnu/store/ir0lq2x7h64g2z5mlqvnlysjk2bc9xka-glibc-utf8-locales-2.24.drv" [color = darkgoldenrod];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" [label = "m4-1.4.17", shape = box, fontname = "dejavu sans"];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/7ijl8lybdx95kndajavdrpz05jdiwy9g-tar-1.29.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/0ykf3p023pzfcg2bw8ahjc7cvmc12zjq-gzip-1.8.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/xx3hiqhqn0d94zz7b46hgggwsz3wjiiw-bzip2-1.0.6.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/kz8rzasivw4aflsv4rll3m539xybf226-xz-5.2.2.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/3pwrlsd23k2h104akxfj3cxhqcp973g9-file-5.28.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/f1ww5vh5abnvr8b24llipm5dl89s5lq2-diffutils-3.5.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/0cbgdhhyh7hsgwq1x54n9vnq99rfjch9-patch-2.7.5.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/8xjnm44dfwwxp90hxq6zhb6qvia7rb3l-sed-4.2.2.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/54wjl6dp6rp47r67f4nyfqyv8nh456yc-findutils-4.6.0.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/k951w49yw74ikg19l4mmlwfrq9w7a7zd-gawk-4.1.4.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/n48xdjkvhlhj5mgdzy59n0dpb9vn0v78-grep-2.25.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/i52csyja3036ns0zj6z85lkgz3wfyym7-coreutils-8.25.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/nv4mnbz3mpd4gv80djk7762wyvxpccqk-make-4.2.1.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/2c60vlcvpj5dvmgklajkp7cpynhcqixr-bash-4.4.0.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/zhc5c4s0xvzizpgpq2za6x84vxv57iy6-ld-wrapper-0.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/9k1js0kalh4s6q4hf0rgg2n0zdyrwi69-binutils-2.27.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/hv3dl3my12mq0gkwvckmnqccnckn39l0-gcc-4.9.4.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/qbfynm50snyn31w2c3paiw2n6wvzksg8-glibc-2.24.drv" [color = cyan3];
"/gnu/store/d1n7i55s1zcwzi21pnsxhamk3b1zf61d-m4-1.4.17.drv" -> "/gnu/store/ir0lq2x7h64g2z5mlqvnlysjk2bc9xka-glibc-utf8-locales-2.24.drv" [color = cyan3];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" [label = "libcap-2.24", shape = box, fontname = "dejavu sans"];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/jxcx1jcvzxb17dc69sfwb352vgwyr108-perl-5.24.0.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/7ijl8lybdx95kndajavdrpz05jdiwy9g-tar-1.29.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/0ykf3p023pzfcg2bw8ahjc7cvmc12zjq-gzip-1.8.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/xx3hiqhqn0d94zz7b46hgggwsz3wjiiw-bzip2-1.0.6.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/kz8rzasivw4aflsv4rll3m539xybf226-xz-5.2.2.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/3pwrlsd23k2h104akxfj3cxhqcp973g9-file-5.28.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/f1ww5vh5abnvr8b24llipm5dl89s5lq2-diffutils-3.5.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/0cbgdhhyh7hsgwq1x54n9vnq99rfjch9-patch-2.7.5.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/8xjnm44dfwwxp90hxq6zhb6qvia7rb3l-sed-4.2.2.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/54wjl6dp6rp47r67f4nyfqyv8nh456yc-findutils-4.6.0.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/k951w49yw74ikg19l4mmlwfrq9w7a7zd-gawk-4.1.4.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/n48xdjkvhlhj5mgdzy59n0dpb9vn0v78-grep-2.25.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/i52csyja3036ns0zj6z85lkgz3wfyym7-coreutils-8.25.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/nv4mnbz3mpd4gv80djk7762wyvxpccqk-make-4.2.1.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/2c60vlcvpj5dvmgklajkp7cpynhcqixr-bash-4.4.0.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/zhc5c4s0xvzizpgpq2za6x84vxv57iy6-ld-wrapper-0.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/9k1js0kalh4s6q4hf0rgg2n0zdyrwi69-binutils-2.27.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/hv3dl3my12mq0gkwvckmnqccnckn39l0-gcc-4.9.4.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/qbfynm50snyn31w2c3paiw2n6wvzksg8-glibc-2.24.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/ir0lq2x7h64g2z5mlqvnlysjk2bc9xka-glibc-utf8-locales-2.24.drv" [color = blue];
"/gnu/store/ijv3y5l1fbbzwb77lc867r1qbsf147i8-libcap-2.24.drv" -> "/gnu/store/gplx9i7c01f2r6qvm6d5w60iam73zmin-attr-2.4.47.drv" [color = blue];
}
-25
View File
@@ -1,25 +0,0 @@
digraph "Guix package" {
"72851008" [label = "coreutils-8.25", shape = box, fontname = "dejavu sans"];
"72851008" -> "49728512" [color = darkseagreen];
"72851008" -> "74872512" [color = darkseagreen];
"72851008" -> "53180864" [color = darkseagreen];
"72851008" -> "75199232" [color = darkseagreen];
"49728512" [label = "perl-5.24.0", shape = box, fontname = "dejavu sans"];
"74872512" [label = "acl-2.2.52", shape = box, fontname = "dejavu sans"];
"74872512" -> "74873280" [color = red];
"74872512" -> "49728512" [color = red];
"74872512" -> "74872704" [color = red];
"74873280" [label = "gettext-minimal-0.19.8.1", shape = box, fontname = "dejavu sans"];
"74873280" -> "41550784" [color = cyan3];
"41550784" [label = "expat-2.2.0", shape = box, fontname = "dejavu sans"];
"74872704" [label = "attr-2.4.47", shape = box, fontname = "dejavu sans"];
"74872704" -> "74873280" [color = cyan3];
"74872704" -> "49728512" [color = cyan3];
"53180864" [label = "gmp-6.1.1", shape = box, fontname = "dejavu sans"];
"53180864" -> "50262784" [color = darkgoldenrod];
"50262784" [label = "m4-1.4.17", shape = box, fontname = "dejavu sans"];
"75199232" [label = "libcap-2.24", shape = box, fontname = "dejavu sans"];
"75199232" -> "49728512" [color = blue];
"75199232" -> "74872704" [color = blue];
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

-79
View File
@@ -1,79 +0,0 @@
digraph "Guix package" {
"139803511371136" [label = "gcc-core-mesboot0@2.95.3", shape = box, fontname = "dejavu sans"];
"139803511371136" -> "139803511371312" [color = red];
"139803511371136" -> "139803511372016" [color = red];
"139803511371136" -> "139803511371488" [color = red];
"139803511371136" -> "139803511371664" [color = red];
"139803511371136" -> "139803511371840" [color = red];
"139803511371136" -> "139803507105792" [color = red];
"139803511371136" -> "139803511373600" [color = red];
"139803511371136" -> "139803507105968" [color = red];
"139803511371136" -> "139803749199472" [color = red];
"139803511371312" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = "dejavu sans"];
"139803511371312" -> "139803511372016" [color = dimgrey];
"139803511371312" -> "139803511371488" [color = dimgrey];
"139803511371312" -> "139803511371664" [color = dimgrey];
"139803511371312" -> "139803511371840" [color = dimgrey];
"139803511371312" -> "139803507105792" [color = dimgrey];
"139803511371312" -> "139803511373600" [color = dimgrey];
"139803511371312" -> "139803507105968" [color = dimgrey];
"139803511371312" -> "139803749199472" [color = dimgrey];
"139803511372016" [label = "gzip-mesboot@1.2.4", shape = box, fontname = "dejavu sans"];
"139803511372016" -> "139803511372192" [color = magenta];
"139803511372016" -> "139803507105792" [color = magenta];
"139803511372016" -> "139803511373600" [color = magenta];
"139803511372016" -> "139803507105968" [color = magenta];
"139803511372016" -> "139803749199472" [color = magenta];
"139803511372192" [label = "tcc-boot0@0.9.26-1136-g5bba73cc", shape = box, fontname = "dejavu sans"];
"139803511372192" -> "139803511372368" [color = magenta];
"139803511372192" -> "139803511372544" [color = magenta];
"139803511372192" -> "139803507105792" [color = magenta];
"139803511372192" -> "139803511373600" [color = magenta];
"139803511372192" -> "139803507105968" [color = magenta];
"139803511372192" -> "139803749199472" [color = magenta];
"139803511372368" [label = "mes-boot@0.24", shape = box, fontname = "dejavu sans"];
"139803511372368" -> "139803511372544" [color = darkviolet];
"139803511372368" -> "139803507105792" [color = darkviolet];
"139803511372368" -> "139803511373600" [color = darkviolet];
"139803511372368" -> "139803507105968" [color = darkviolet];
"139803511372368" -> "139803749199472" [color = darkviolet];
"139803511372544" [label = "stage0-posix@1.4", shape = box, fontname = "dejavu sans"];
"139803511372544" -> "139803511373072" [color = peachpuff4];
"139803511372544" -> "139803507105792" [color = peachpuff4];
"139803511372544" -> "139803511373600" [color = peachpuff4];
"139803511372544" -> "139803507105968" [color = peachpuff4];
"139803511372544" -> "139803749199472" [color = peachpuff4];
"139803511373072" [label = "bootstrap-seeds@1.0.0", shape = ellipse, fontname = "dejavu sans"];
"139803511373072" -> "139803507105968" [color = cyan3];
"139803507105968" [label = "bootar@1b", shape = box, fontname = "dejavu sans"];
"139803507105968" -> "139803749199472" [color = dimgrey];
"139803749199472" [label = "guile-bootstrap@2.0", shape = ellipse, fontname = "dejavu sans"];
"139803507105792" [label = "gash-boot@0.3.0", shape = box, fontname = "dejavu sans"];
"139803507105792" -> "139803507105968" [color = darkviolet];
"139803507105792" -> "139803749199472" [color = darkviolet];
"139803511373600" [label = "gash-utils-boot@0.2.0", shape = box, fontname = "dejavu sans"];
"139803511373600" -> "139803507105968" [color = red];
"139803511373600" -> "139803507105792" [color = red];
"139803511373600" -> "139803749199472" [color = red];
"139803511371488" [label = "patch-mesboot@2.5.9", shape = box, fontname = "dejavu sans"];
"139803511371488" -> "139803511371840" [color = darkseagreen];
"139803511371488" -> "139803511372192" [color = darkseagreen];
"139803511371488" -> "139803507105792" [color = darkseagreen];
"139803511371488" -> "139803511373600" [color = darkseagreen];
"139803511371488" -> "139803507105968" [color = darkseagreen];
"139803511371488" -> "139803749199472" [color = darkseagreen];
"139803511371840" [label = "make-mesboot0@3.80", shape = box, fontname = "dejavu sans"];
"139803511371840" -> "139803511372192" [color = blue];
"139803511371840" -> "139803507105792" [color = blue];
"139803511371840" -> "139803511373600" [color = blue];
"139803511371840" -> "139803507105968" [color = blue];
"139803511371840" -> "139803749199472" [color = blue];
"139803511371664" [label = "tcc-boot@0.9.27", shape = box, fontname = "dejavu sans"];
"139803511371664" -> "139803511371840" [color = peachpuff4];
"139803511371664" -> "139803511372192" [color = peachpuff4];
"139803511371664" -> "139803507105792" [color = peachpuff4];
"139803511371664" -> "139803511373600" [color = peachpuff4];
"139803511371664" -> "139803507105968" [color = peachpuff4];
"139803511371664" -> "139803749199472" [color = peachpuff4];
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

-40
View File
@@ -1,40 +0,0 @@
digraph "Service Type Dependencies" {
shepherd [shape = box, fontname = "dejavu sans"];
pam [shape = box, fontname = "dejavu sans"];
etc [shape = box, fontname = "dejavu sans"];
profile [shape = box, fontname = "dejavu sans"];
accounts [shape = box, fontname = "dejavu sans"];
activation [shape = box, fontname = "dejavu sans"];
boot [shape = box, fontname = "dejavu sans"];
system [shape = house, fontname = "dejavu sans"];
lshd -> shepherd;
lshd -> pam;
udev -> shepherd;
nscd -> shepherd [label = "extends"];
"nss-mdns" -> nscd;
"kvm-rules" -> udev;
colord -> udev;
dbus -> shepherd;
colord -> dbus;
upower -> udev;
upower -> dbus;
polkit -> dbus;
polkit -> pam;
elogind -> dbus;
elogind -> udev;
elogind -> polkit [label = "extends"];
shepherd -> boot;
colord -> accounts;
accounts -> activation;
accounts -> etc;
etc -> activation;
activation -> boot;
pam -> etc;
elogind -> pam;
guix -> shepherd;
guix -> activation;
guix -> accounts;
boot -> system;
etc -> system;
profile -> system;
}
-71
View File
@@ -1,71 +0,0 @@
digraph "Guix shepherd-service" {
"user-file-systems" [label = "user-file-systems", shape = box, fontname = "dejavu sans"];
"user-processes" -> "user-file-systems" [color = cyan3];
"user-processes" [label = "user-processes", shape = box, fontname = "dejavu sans"];
"nscd" -> "user-processes" [color = magenta];
"guix-daemon" -> "user-processes" [color = blue];
"urandom-seed" -> "user-processes" [color = dimgrey];
"syslogd" -> "user-processes" [color = darkgoldenrod];
"term-tty6" -> "user-processes" [color = magenta];
"term-tty5" -> "user-processes" [color = red];
"term-tty4" -> "user-processes" [color = darkgoldenrod];
"term-tty3" -> "user-processes" [color = dimgrey];
"term-tty2" -> "user-processes" [color = darkviolet];
"term-tty1" -> "user-processes" [color = peachpuff4];
"networking" -> "user-processes" [color = dimgrey];
"nscd" [label = "nscd", shape = box, fontname = "dejavu sans"];
"guix-daemon" [label = "guix-daemon", shape = box, fontname = "dejavu sans"];
"urandom-seed" [label = "urandom-seed", shape = box, fontname = "dejavu sans"];
"syslogd" [label = "syslogd", shape = box, fontname = "dejavu sans"];
"ssh-daemon" -> "syslogd" [color = darkgoldenrod];
"ssh-daemon" [label = "ssh-daemon", shape = box, fontname = "dejavu sans"];
"term-tty6" [label = "term-tty6", shape = box, fontname = "dejavu sans"];
"console-font-tty6" -> "term-tty6" [color = darkgoldenrod];
"console-font-tty6" [label = "console-font-tty6", shape = box, fontname = "dejavu sans"];
"term-tty5" [label = "term-tty5", shape = box, fontname = "dejavu sans"];
"console-font-tty5" -> "term-tty5" [color = dimgrey];
"console-font-tty5" [label = "console-font-tty5", shape = box, fontname = "dejavu sans"];
"term-tty4" [label = "term-tty4", shape = box, fontname = "dejavu sans"];
"console-font-tty4" -> "term-tty4" [color = darkviolet];
"console-font-tty4" [label = "console-font-tty4", shape = box, fontname = "dejavu sans"];
"term-tty3" [label = "term-tty3", shape = box, fontname = "dejavu sans"];
"console-font-tty3" -> "term-tty3" [color = peachpuff4];
"console-font-tty3" [label = "console-font-tty3", shape = box, fontname = "dejavu sans"];
"term-tty2" [label = "term-tty2", shape = box, fontname = "dejavu sans"];
"console-font-tty2" -> "term-tty2" [color = darkseagreen];
"console-font-tty2" [label = "console-font-tty2", shape = box, fontname = "dejavu sans"];
"term-tty1" [label = "term-tty1", shape = box, fontname = "dejavu sans"];
"console-font-tty1" -> "term-tty1" [color = cyan3];
"console-font-tty1" [label = "console-font-tty1", shape = box, fontname = "dejavu sans"];
"networking" [label = "networking", shape = box, fontname = "dejavu sans"];
"ssh-daemon" -> "networking" [color = darkgoldenrod];
"root-file-system" [label = "root-file-system", shape = box, fontname = "dejavu sans"];
"file-system-/dev/pts" -> "root-file-system" [color = peachpuff4];
"file-system-/dev/shm" -> "root-file-system" [color = darkgoldenrod];
"file-system-/gnu/store" -> "root-file-system" [color = blue];
"user-processes" -> "root-file-system" [color = cyan3];
"udev" -> "root-file-system" [color = darkseagreen];
"file-system-/dev/pts" [label = "file-system-/dev/pts", shape = box, fontname = "dejavu sans"];
"user-processes" -> "file-system-/dev/pts" [color = cyan3];
"file-system-/dev/shm" [label = "file-system-/dev/shm", shape = box, fontname = "dejavu sans"];
"user-processes" -> "file-system-/dev/shm" [color = cyan3];
"file-system-/gnu/store" [label = "file-system-/gnu/store", shape = box, fontname = "dejavu sans"];
"user-processes" -> "file-system-/gnu/store" [color = cyan3];
"udev" [label = "udev", shape = box, fontname = "dejavu sans"];
"term-tty6" -> "udev" [color = magenta];
"term-tty5" -> "udev" [color = red];
"term-tty4" -> "udev" [color = darkgoldenrod];
"term-tty3" -> "udev" [color = dimgrey];
"term-tty2" -> "udev" [color = darkviolet];
"term-tty1" -> "udev" [color = peachpuff4];
"networking" -> "udev" [color = dimgrey];
"host-name" [label = "host-name", shape = box, fontname = "dejavu sans"];
"term-tty6" -> "host-name" [color = magenta];
"term-tty5" -> "host-name" [color = red];
"term-tty4" -> "host-name" [color = darkgoldenrod];
"term-tty3" -> "host-name" [color = dimgrey];
"term-tty2" -> "host-name" [color = darkviolet];
"term-tty1" -> "host-name" [color = peachpuff4];
"loopback" [label = "loopback", shape = box, fontname = "dejavu sans"];
}
-323
View File
@@ -1,323 +0,0 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2018, 2021 Julien Lepiller <julien@lepiller.eu>
# Copyright © 2019 Timothy Sample <samplet@ngyro.com>
# Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2024 gemmaro <gemmaro.dev@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/>.
# If adding a language, update the following variables, and info_TEXINFOS.
MANUAL_LANGUAGES = de es fr it pt_BR ru zh_CN
COOKBOOK_LANGUAGES = de es fr it ko pt_BR ru sk sv ta zh_CN
# Arg1: A list of languages codes.
# Arg2: The file name stem.
lang_to_texinfo = $(foreach lang,$(1),%D%/$(2).$(lang).texi)
# Automake does not understand GNU Make non-standard extensions,
# unfortunately, so we cannot use the above patsubst-based function here.
info_TEXINFOS = %D%/guix.texi \
%D%/guix.de.texi \
%D%/guix.es.texi \
%D%/guix.fr.texi \
%D%/guix.it.texi \
%D%/guix.pt_BR.texi \
%D%/guix.ru.texi \
%D%/guix.zh_CN.texi \
%D%/guix-cookbook.texi \
%D%/guix-cookbook.de.texi \
%D%/guix-cookbook.es.texi \
%D%/guix-cookbook.fr.texi \
%D%/guix-cookbook.it.texi \
%D%/guix-cookbook.ko.texi \
%D%/guix-cookbook.pt_BR.texi \
%D%/guix-cookbook.ru.texi \
%D%/guix-cookbook.sk.texi \
%D%/guix-cookbook.sv.texi \
%D%/guix-cookbook.ta.texi \
%D%/guix-cookbook.zh_CN.texi
%C%_guix_TEXINFOS = \
$(OS_CONFIG_EXAMPLES_TEXI) \
%D%/contributing.texi \
%D%/fdl-1.3.texi
DOT_FILES = \
%D%/images/bootstrap-graph.dot \
%D%/images/bootstrap-packages.dot \
%D%/images/coreutils-graph.dot \
%D%/images/coreutils-bag-graph.dot \
%D%/images/gcc-core-mesboot0-graph.dot \
%D%/images/service-graph.dot \
%D%/images/shepherd-graph.dot
DOT_VECTOR_GRAPHICS = \
$(DOT_FILES:%.dot=%.eps) \
$(DOT_FILES:%.dot=%.pdf)
EXTRA_DIST += \
%D%/htmlxref.cnf \
$(DOT_FILES) \
$(DOT_VECTOR_GRAPHICS) \
%D%/images/coreutils-size-map.eps \
%D%/environment-gdb.scm \
%D%/package-hello.scm \
%D%/package-hello.json
OS_CONFIG_EXAMPLES_TEXI = \
%D%/os-config-bare-bones.texi \
%D%/os-config-desktop.texi \
%D%/os-config-lightweight-desktop.texi \
%D%/he-config-bare-bones.scm
TRANSLATED_INFO = \
$(call lang_to_texinfo,$(MANUAL_LANGUAGES),guix) \
$(call lang_to_texinfo,$(MANUAL_LANGUAGES),contributing) \
$(call lang_to_texinfo,$(COOKBOOK_LANGUAGES),guix-cookbook)
# Bundle this file so that makeinfo finds it in out-of-source-tree builds.
BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO)
EXTRA_DIST += $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO)
MAINTAINERCLEANFILES = $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO)
# When a change to guix.texi occurs, it is not translated immediately.
# Because @pxref and @xref commands are references to sections by name, they
# should be translated. If a modification adds a reference to a section, this
# reference is not translated, which means it references a section that does not
# exist.
define xref_command
$(top_srcdir)/pre-inst-env $(GUILE) --no-auto-compile \
"$(top_srcdir)/build-aux/convert-xref.scm" \
$@.tmp $<
endef
# If /dev/null is used for this POT file path, a warning will be issued
# because the path extension is not 'pot'.
dummy_pot = $(shell mktemp --suffix=.pot)
$(srcdir)/%D%/guix.%.texi: po/doc/guix-manual.%.po $(srcdir)/%D%/contributing.%.texi guix/build/po.go
-$(AM_V_PO4A)$(PO4A) --no-update \
--variable localized="$@.tmp" \
--variable master="%D%/guix.texi" \
--variable po="$<" \
--variable pot=$(dummy_pot) \
po/doc/po4a.cfg
-sed -i "s|guix\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp"
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
-mv "$@.tmp" "$@"
$(srcdir)/%D%/guix-cookbook.%.texi: po/doc/guix-cookbook.%.po guix/build/po.go
-$(AM_V_PO4A)$(PO4A) --no-update \
--variable localized="$@.tmp" \
--variable master="%D%/guix-cookbook.texi" \
--variable po="$<" \
--variable pot=$(dummy_pot) \
po/doc/po4a.cfg
-sed -i "s|guix-cookbook\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp"
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
-mv "$@.tmp" "$@"
$(srcdir)/%D%/contributing.%.texi: po/doc/guix-manual.%.po guix/build/po.go
-$(AM_V_PO4A)$(PO4A) --no-update \
--variable localized="$@.tmp" \
--variable master="%D%/contributing.texi" \
--variable po="$<" \
--variable pot=$(dummy_pot) \
po/doc/po4a.cfg
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
-mv "$@.tmp" "$@"
%D%/os-config-%.texi: gnu/system/examples/%.tmpl
$(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \
cp "$<" "$@"
infoimagedir = $(infodir)/images
dist_infoimage_DATA = \
$(DOT_FILES:%.dot=%.png) \
%D%/images/coreutils-size-map.png \
%D%/images/installer-network.png \
%D%/images/installer-partitions.png \
%D%/images/installer-resume.png
# Ask for warnings about cross-referenced manuals that are not listed in
# htmlxref.cnf.
AM_MAKEINFOHTMLFLAGS = --set-customization-variable CHECK_HTMLXREF=true
# Try hard to obtain an image size and aspect that's reasonable for inclusion
# in an Info or PDF document.
DOT_OPTIONS = \
-Gratio=.9 -Gnodesep=.005 -Granksep=.00005 \
-Nfontsize=9 -Nheight=.1 -Nwidth=.1
.dot.png:
$(AM_V_DOT)$(DOT) -Tpng $(DOT_OPTIONS) < "$<" > "$(srcdir)/$@.tmp"
$(AM_V_at)mv "$(srcdir)/$@.tmp" "$(srcdir)/$@"
.dot.pdf:
$(AM_V_DOT)set -e; export TZ=UTC0; \
$(DOT) -Tpdf $(DOT_OPTIONS) < "$<" > "$(srcdir)/$@.tmp"
$(AM_V_at)sed -ri \
-e 's,(/CreationDate \(D:).*\),\119700101000000),' \
"$(srcdir)/$@.tmp"
$(AM_V_at)mv "$(srcdir)/$@.tmp" "$(srcdir)/$@"
.dot.eps:
$(AM_V_DOT)$(DOT) -Teps $(DOT_OPTIONS) < "$<" > "$(srcdir)/$@.tmp"
$(AM_v_at)! grep -q %%CreationDate "$(srcdir)/$@.tmp"
$(AM_V_at)mv "$(srcdir)/$@.tmp" "$@"
.png.eps:
$(AM_V_GEN)convert "$<" "$@-tmp.eps"
$(AM_V_at)mv "$@-tmp.eps" "$@"
# We cannot add new dependencies to `%D%/guix.pdf' & co. (info "(automake)
# Extending"). Using the `-local' rules is imperfect, because they may be
# triggered after the main rule. Oh, well.
pdf-local: $(DOT_FILES=%.dot=$(top_srcdir)/%.pdf)
info-local: $(DOT_FILES=%.dot=$(top_srcdir)/%.png)
ps-local: $(DOT_FILES=%.dot=$(top_srcdir)/%.eps) \
$(top_srcdir)/%D%/images/coreutils-size-map.eps
dvi-local: ps-local
## ----------- ##
## Man pages. ##
## ----------- ##
# The man pages are generated using GNU Help2man. In makefiles rules they
# depend not on the binary, but on the source files. This usage allows a
# manual page to be generated by the maintainer and included in the
# distribution without requiring the end-user to have 'help2man' installed.
# They are built in $(srcdir) like info manuals.
sub_commands_mans = \
$(srcdir)/%D%/guix-archive.1 \
$(srcdir)/%D%/guix-build.1 \
$(srcdir)/%D%/guix-challenge.1 \
$(srcdir)/%D%/guix-container.1 \
$(srcdir)/%D%/guix-deploy.1 \
$(srcdir)/%D%/guix-describe.1 \
$(srcdir)/%D%/guix-download.1 \
$(srcdir)/%D%/guix-edit.1 \
$(srcdir)/%D%/guix-environment.1 \
$(srcdir)/%D%/guix-gc.1 \
$(srcdir)/%D%/guix-git.1 \
$(srcdir)/%D%/guix-graph.1 \
$(srcdir)/%D%/guix-hash.1 \
$(srcdir)/%D%/guix-home.1 \
$(srcdir)/%D%/guix-import.1 \
$(srcdir)/%D%/guix-lint.1 \
$(srcdir)/%D%/guix-offload.1 \
$(srcdir)/%D%/guix-pack.1 \
$(srcdir)/%D%/guix-package.1 \
$(srcdir)/%D%/guix-processes.1 \
$(srcdir)/%D%/guix-publish.1 \
$(srcdir)/%D%/guix-pull.1 \
$(srcdir)/%D%/guix-refresh.1 \
$(srcdir)/%D%/guix-repl.1 \
$(srcdir)/%D%/guix-shell.1 \
$(srcdir)/%D%/guix-size.1 \
$(srcdir)/%D%/guix-style.1 \
$(srcdir)/%D%/guix-system.1 \
$(srcdir)/%D%/guix-time-machine.1 \
$(srcdir)/%D%/guix-weather.1
if HAVE_GUILE_SSH
sub_commands_mans += $(srcdir)/%D%/guix-copy.1
endif HAVE_GUILE_SSH
# Assume that cross-compiled commands cannot be executed.
if !CROSS_COMPILING
dist_man1_MANS = \
$(srcdir)/%D%/guix.1 \
$(sub_commands_mans)
endif
gen_man = \
LANGUAGE= $(top_builddir)/pre-inst-env $(HELP2MAN) \
$(HELP2MANFLAGS)
HELP2MANFLAGS = --source=GNU --info-page=$(PACKAGE_TARNAME)
# help2man reproducibility
SOURCE_DATE_EPOCH = $(shell git show HEAD --format=%ct --no-patch 2>/dev/null || echo 1)
export SOURCE_DATE_EPOCH
$(srcdir)/%D%/guix.1: scripts/guix.in $(sub_commands_mans)
-$(AM_V_HELP2MAN)$(gen_man) --output="$@" `basename "$@" .1`
# The 'case' ensures the man pages are only generated if the corresponding
# source script (the first prerequisite) has been changed. The $(GOBJECTS)
# prerequisite is solely meant to force these docs to be made only after all
# Guile modules have been compiled. We also need the guix script to exist.
$(srcdir)/%D%/guix-%.1: guix/scripts/%.scm $(GOBJECTS) scripts/guix
-@case '$?' in \
*$<*) $(AM_V_HELP2MAN:@%=%)$(gen_man) --output="$@" "guix $*";; \
*) : ;; \
esac
if BUILD_DAEMON
if !CROSS_COMPILING
dist_man1_MANS += $(srcdir)/%D%/guix-daemon.1
$(srcdir)/%D%/guix-daemon.1: guix-daemon$(EXEEXT)
-$(AM_V_HELP2MAN)$(gen_man) --output="$@" `basename "$@" .1`
endif
endif
# Reproducible tarball
DIST_CONFIGURE_FLAGS = \
--localstatedir=/var \
--sysconfdir=/etc
# Delete all Autotools-generated files and rerun configure to ensure
# a clean cache and distributing reproducible versions.
auto-clean: maintainer-clean-vti doc-clean
rm -f ABOUT-NLS INSTALL
rm -f aclocal.m4 configure libtool Makefile.in
if test -e .git; then \
git clean -fdx -- '.am*' build-aux m4 po; \
else \
rm -rf .am*; \
$(MAKE) -C po/guix maintainer-clean; \
$(MAKE) -C po/packages maintainer-clean; \
fi
rm -f guile
rm -f guix-daemon nix/nix-daemon/guix_daemon-guix-daemon.o
# Automake fails if guix-cookbook-LANG.texi stubs are missing; running
# autoreconf -vif is not enough.
./bootstrap
# The dependency chain for the guix-cookbook-LANG.texi was cut on purpose;
# they must be deleted to ensure a rebuild.
rm -f $(filter-out %D%/guix.texi %D%/guix-cookbook.texi, $(info_TEXINFOS))
./configure $(DIST_CONFIGURE_FLAGS)
# Delete all generated doc files to ensure a clean cache and distributing
# reproducible versions.
doc-clean:
rm -f $(srcdir)/doc/*.1
rm -f $(srcdir)/doc/stamp*
rm -f $(DOT_FILES:%.dot=%.png)
rm -f $(DOT_VECTOR_GRAPHICS)
rm -f doc/images/coreutils-size-map.eps

Some files were not shown because too many files have changed in this diff Show More