;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2022, 2024 Janneke Nieuwenhuizen ;;; ;;; 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 . ;; GNU Guix development manifest. To create development environment, run ;; ;; guix shell ;; ;; or something like ;; ;; guix shell --pure -m manifest.scm hello ... (use-modules (guix packages)) (concatenate-manifests (list (package->development-manifest (let ((guix (specification->package "guix"))) (package/inherit guix ;; Replace with non-minimal Graphviz for PDF support. (native-inputs (modify-inputs (package-native-inputs guix) (replace "graphviz" (specification->package "graphviz"))))))) ;; Extra packages used by unit tests. (specifications->manifest (list "gnupg")) ;; Packages needed for 'make dist' and 'make distcheck'. (specifications->manifest (list "imagemagick" "perl")) ;; Useful extras for patches submission. (specifications->manifest (list "b4" "git" "git:send-email" "mumi" "nss-certs" "openssl" ;required if using 'smtpEncryption = tls' "patman")))) value=''/>
AgeCommit message (Expand)Author
2024-08-26committer: Avoid // in xpath....When using // we assume that the package definition's S-expression is a nesting of proper lists. This is not guaranteed to be true, because a package definition may contain alists. By using an explicit path to the field of interest we avoid recursion through all child nodes, thus avoiding child nodes that are more likely to contain improper lists. * etc/committer.scm.in (change-commit-message): Replace // with a path for the PACKAGE symbol. Change-Id: Idefaec9f5c3538484432e15a5865a68fc16e7369 Ricardo Wurmus
2023-09-24etc/committer: Speed up surrounding-sexp....The old surrounding-sexp procedure would read all S-expressions from the beginning of the file up to the given line number and then return the last encountered S-expression. This is quite wasteful. Instead we can record all lines that begin with an S-expression and jump straight to the offset closest to the desired line number to read the S-expression there. * etc/committer.scm.in (lines+offsets-with-opening-parens): New procedure. (surrounding-sexp): Use it. Ricardo Wurmus
2023-09-24etc/committer: Avoid reading original files more than once....* etc/committer.scm.in (%original-file-cache): New variable. (read-original-file): New procedure. (read-original-file*): New procedure. (old-sexp): Use it. Ricardo Wurmus
2023-09-24etc/committer: Do not record positions when reading from git files....This gives us a slight performance boost. * etc/committer.scm.in (main): Disable recording of positions. Ricardo Wurmus
2023-09-24etc/committer: Do not recompute changes when there are no definitions....* etc/committer.scm.in (main): Reuse previously computed changes if there are no changes to the number of definitions. Ricardo Wurmus
2022-05-31etc/committer: Teach it how to commit package removal....* etc/committer.scm.in (hunk-types): New variable. (<hunk>): Rename hunk-definition? getter to 'hunk-type'. (diff-info): Mute a git warning by separating file names from arguments with '--'. Rename the 'definitions?' variable to 'type'. Use the 'addition type when a new package addition is detected, 'removal when removed else #f. (add-commit-message): Re-indent. (remove-commit-message): New procedure. (main)[definitions]: Make commit message conditional depending on whether it is an addition or removal. [changes]: Adjust indentation. Maxim Cournoyer
2022-05-31etc/committer: Prefix (sxml xpath) symbols to avoid name conflict....This avoids a naming conflict for 'filter', provided by both (srfi srfi-1) and (sxml xpath). * etc/committer.scm.in: Use 'use-modules' instead of 'import', and use a prefix for the (sxml xpath) module. (new-sexp): Adjust accordingly. (change-commit-message): Likewise. Maxim Cournoyer
2022-01-23etc: committer: Support plain input lists....* etc/committer.scm.in (change-commit-message): Support new-style plain list inputs in addition to old-style inputs with labels. Ricardo Wurmus