summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2020-06-18build-system/asdf: Add support for component-less systems....* guix/build/lisp-utils.scm (make-asd-file): Ensure lib directory exists and check if prebuilt bundle system was generated. (generate-system-definition): Add :class and :components only if prebuilt system was generated. Pierre Neidhardt
2020-06-18profiles: 'linux-module-database' hooks gracefully handles module-less kernels....Fixes <https://bugs.gnu.org/41924>. * guix/profiles.scm (linux-module-database)[build]: Arrange so 'directory-entries' always returns a list. Add 'match' clause for the empty list. Co-authored-by: Ivan Kozlov <kanichos@yandex.ru> Ludovic Courtès
2020-06-18profiles: Reindent 'linux-module-database'....* guix/profiles.scm (linux-module-database): Reindent. Ludovic Courtès
2020-06-18nar: Use (guix i18n)....* guix/nar.scm: Use (guix i18n) instead of (guix ui). Ludovic Courtès
2020-06-18nar: Avoid opening the database an additional time....* guix/nar.scm (finalize-store-file): Call 'register-items' and pass it DB. This avoids opening the database a second time and hopefully reduces contention on 'db.sqlite-shm'. Ludovic Courtès
2020-06-18database: 'register-items' takes an open database....* guix/store/database.scm (store-database-directory) (store-database-file): New procedures. (call-with-database): Add call to 'mkdir-p'. (register-items): Add 'db' parameter and remove #:state-directory and #:schema. (register-path): Use 'store-database-file' and 'with-database', and parameterize SQL-SCHEMA. * gnu/build/image.scm (register-closure): Likewise. * gnu/build/vm.scm (register-closure): Likewise. * guix/scripts/pack.scm (store-database)[build]: Likewise. Ludovic Courtès
2020-06-18build-system/gnu: Fix 'install' phase of 'gnu-dist'....* guix/build/gnu-dist.scm (install-dist): Fix 2nd argument to 'for-each'. Ludovic Courtès
2020-06-18repl: Fix typo that would lead ~/.guile to be used when running scripts....This is a followup to c924e541390f9595d819edc33c19d979917c15ec. * guix/scripts/repl.scm (guix-repl)[opts]: Set 'ignore-dot-guile?', with question mark. Ludovic Courtès
2020-06-17channels: Warn when pulling from a mirror....* guix/channels.scm (<channel-metadata>)[url]: New field. (read-channel-metadata): Initialize it. (read-channel-metadata-from-source): Likewise. (channel-instance-primary-url): New procedure. (latest-channel-instances): Compare CHANNEL's URL against it. * doc/guix.texi (Channels)[Primary URL]: New subsection. Ludovic Courtès
2020-06-17build-system/gnu: Rename "make dist" phase to 'build-dist'....* guix/build/gnu-dist.scm (%dist-phases): Add BUILD under the name 'build-dist'. Ludovic Courtès
2020-06-17build-system/gnu: Simplify 'dist-package'....* guix/build-system/gnu.scm (dist-package): Use default keyword arguments in 'substitute-keyword-arguments'. Ludovic Courtès
2020-06-17build-system/gnu: Remove redundant 'unpack' phase from 'gnu-dist'....This has become redundant with the standard 'unpack' phase since 17919a58012c38052133ed029450fdb98d01fb5c. * guix/build/gnu-dist.scm (copy-source): Remove. (%dist-phases): Remove 'unpack' phase. Ludovic Courtès
2020-06-17build-system/gnu: Remove Hydra-specific code from 'gnu-dist'....* guix/build/gnu-dist.scm (install-dist): Remove code for 'hydra-build-products'. Ludovic Courtès
2020-06-17build-system/gnu: Remove 'autoreconf' phase from 'gnu-dist'....This has been superseded by the 'bootstrap' phase added in 189be331acfda1c242a9c85fca8d2a0356742f48. * guix/build/gnu-dist.scm (autoreconf): Remove. (%dist-phases): Remove it. Ludovic Courtès
2020-06-17build-system/gnu: Adjust 'dist-package' to current 'autoconf-wrapper' API....This is a followup to 464f5447396fcec9b43f7eab71d5d42b522a157f. * guix/build-system/gnu.scm (dist-package): Do not call 'autoconf-wrapper'. Ludovic Courtès
2020-06-17profiles: Add comment at the top of 'manifest' file....* guix/build/profiles.scm (build-profile): Add comment at the top of MANIFEST-FILE. Ludovic Courtès
2020-06-16time-machine: Add '--disable-authentication'....* guix/inferior.scm (cached-channel-instance): Add #:authenticate? and pass it to 'latest-channel-instances'. * guix/scripts/time-machine.scm (show-help, %options): Add '--disable-authentication'. (%default-options): Add 'authenticate-channels?'. (guix-time-machine): Honor it. Ludovic Courtès
2020-06-16pull: Add '--disable-authentication'....* guix/channels.scm (latest-channel-instance): Add #:authenticate? and honor it. (latest-channel-instances): Likewise. * guix/scripts/pull.scm (%default-options): Add 'authenticate-channels?'. (show-help, %options): Add '--disable-authentication'. (guix-pull): Pass #:authenticate? to 'latest-channel-instances'. * doc/guix.texi (Invoking guix pull): Document it. Ludovic Courtès
2020-06-16channels: Automatically add introduction for the official 'guix' channel....This is useful when people run "guix time-machine -C channels.scm", where 'channels.scm' misses channel introductions. * guix/channels.scm (%default-channel-url): New variable. (%default-channels): Use it. (ensure-default-introduction): New procedure. (latest-channel-instance): Call it. Ludovic Courtès
2020-06-16channels: Make 'validate-pull' call right after clone/pull....This should come before patching, authentication, etc. * guix/channels.scm (latest-channel-instance): Add #:validate-pull parameter and honor it. Return a single value: the instance. (ensure-forward-channel-update): Change 'instance' parameter to 'commit' and adjust accordingly. (latest-channel-instances): Adjust to 'latest-channel-instance' changes. * guix/scripts/pull.scm (warn-about-backward-updates): Change 'instance' parameter to 'commit' and adjust accordingly. * tests/channels.scm ("latest-channel-instances #:validate-pull"): Likewise. Ludovic Courtès
2020-06-16channels: 'latest-channel-instance' authenticates Git checkouts....Fixes <https://bugs.gnu.org/22883>. * guix/channels.scm (<channel>)[introduction]: New field. (<channel-introduction>): New record type. (%guix-channel-introduction): New variable. (%default-channels): Use it. (<channel-metadata>)[keyring-reference]: New field. (%default-keyring-reference): New variable. (read-channel-metadata, read-channel-metadata-from-source): Initialize the 'keyring-reference' field. (commit-short-id, verify-introductory-commit) (authenticate-channel): New procedures. (latest-channel-instance): Call 'authenticate-channel' when CHANNEL has an introduction. * tests/channels.scm (gpg+git-available?, commit-id-string): New procedures. ("authenticate-channel, wrong first commit signer"): ("authenticate-channel, .guix-authorizations"): New tests. * doc/guix.texi (Invoking guix pull): Mention authentication. Ludovic Courtès
2020-06-16tests: Move OpenPGP helpers to (guix tests gnupg)....* tests/git-authenticate.scm (key-id): Remove. (%ed25519-public-key-file, %ed25519-secret-key-file) (%ed25519bis-public-key-file, %ed25519bis-secret-key-file) (read-openpgp-packet, key-fingerprint): Move to... * guix/tests/gnupg.scm: ... here. Ludovic Courtès
2020-06-16git-authenticate: 'authenticate-commits' takes a #:keyring parameter....* guix/git-authenticate.scm (authenticate-commits): Add #:keyring parameter. Ludovic Courtès
2020-06-16git-authenticate: Cache takes a key parameter....* guix/git-authenticate.scm (authenticated-commit-cache-file) (cache-authenticated-commit, previously-authenticated-commits): Add 'key' parameter and honor it. * build-aux/git-authenticate.scm (git-authenticate): Pass "channels/guix" as the key. Ludovic Courtès
2020-06-16build-system: cmake: Add substitutable keyword....* guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Add substitutable keyword. Efraim Flashner
2020-06-16pack: Add zstd compressor....* guix/scripts/pack.scm (%compressors): Add zstd. * doc/guix.texi (Invoking guix pack): Document it. Tobias Geerinckx-Rice
2020-06-15ui: Use package-description-string....* guix/ui.scm (package->recutils): Use package-description-string instead of package-description and P_. Arun Isaac
2020-06-15ui: Do not translate package synopsis a second time....* guix/ui.scm (package->recutils): package-synopsis-string already returns a translated string. Do not attempt to translate it again. Arun Isaac
2020-06-15ui: Cut off search early if any regexp does not match....* guix/ui.scm (relevance): When one of the regexps does not match, cut off early and return 0. Do not try to match the remaining regexps. Arun Isaac
2020-06-15ci: Add build-products id field and export accessors....* guix/ci.scm (build-product?, build-product-id, build-product-type, build-product-file-size, build-product-path): Export them, [id]: new field. Mathieu Othacehe
2020-06-15ci: Add status option to "latest-builds"....* guix/ci.scm (latest-builds): Add "status" option. Mathieu Othacehe
2020-06-15download: Remove usa-mirror.go-parts.com mirror....It incorrectly redirects 404s (at least) to the commercial home page. * guix/download.scm (%mirrors): Remove usa-mirror.go-parts.com URLs. Tobias Geerinckx-Rice
2020-06-15ci: Fix buildproducts reading....This is a follow-up of 4e05bbb093a17145fcabd48ea1d2c9cd7559084d. * guix/ci.scm (<build>)[products]: Test for vector type, as products can be "null". Mathieu Othacehe
2020-06-15ci: Add job option to "latest-builds"....* guix/ci.scm (latest-builds): Add "job" option. Mathieu Othacehe
2020-06-15ci: Add build products support....* guix/ci.scm (<build-product>): New json mapping, (<build)[products]: new field. Mathieu Othacehe
2020-06-14guix repl: Add script execution....* guix/scripts/repl.scm: Add filename options for script execution. * doc/guix.texi (Invoking guix repl): Document it. * tests/guix-repl.sh: Test it. * Makefile.am: (SH_TESTS): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Konrad Hinsen
2020-06-14scripts: system: Fix "init" command....This is a follow-up of 7ca533c7237622d70b423033c4506217d9ce4014. The introduced "target" variable is shadowing the target argument. * guix/scripts/system.scm (perform-action): Rename "target" variable to "target*". Mathieu Othacehe
2020-06-14lint: Add 'check-for-collisions' checker....Suggested by Edouard Klein <edk@beaver-labs.com>. * guix/profiles.scm (check-for-collisions): Export. * guix/lint.scm (check-profile-collisions): New procedure. (%local-checkers): Add 'profile-collisions' checker. * tests/lint.scm ("profile-collisions: no warnings") ("profile-collisions: propagated inputs collide") ("profile-collisions: propagated inputs collide, store items"): New tests. * doc/guix.texi (Invoking guix lint): Document it. Ludovic Courtès
2020-06-14profiles: Fix pathological performance of 'manifest-transitive-entries'....For packages with lots of propagated inputs, 'manifest-transitive-entries', as called from 'check-for-collisions', would exhibit pathological behavior. For example, "guix install cl-ana" wouldn't complete in 1mn; now, it's down to 20s. The issue was that manifest entries would never be 'equal?' due to the delayed field in <manifest-entry>. * guix/profiles.scm (manifest-transitive-entries): Use a vhash instead of a set. Use 'manifest-entry=?' instead of 'equal?' when checking for equality. Ludovic Courtès
2020-06-14ui: Set 'LESS' environment variable unconditionally....Fixes <https://bugs.gnu.org/41811>. Reported by Lars-Dominik Braun <lars@6xq.net>. * guix/ui.scm (call-with-paginated-output-port): Remove (getenv "LESS") call. Ludovic Courtès
2020-06-13Merge branch 'staging'Marius Bakke
2020-06-13image: Make 'find-image' non-monadic....* gnu/system/image.scm (find-image): Make non-monadic. Add 'target' parameter. * gnu/tests/install.scm (run-install): Update caller, passing (%current-target-system). * guix/scripts/system.scm (perform-action): Likewise. Jan (janneke) Nieuwenhuizen
2020-06-13guix: Update to Bioconductor 3.11....* guix/build-system/r.scm (bioconductor-uri): Use new URL. * guix/import/cran.scm (%bioconductor-version): Update to 3.11. Ricardo Wurmus
2020-06-12lint: check-patch-file-names: Use origin-actual-file-name....This avoids crashes for the patch-file-names checker where a <origin> is used for a patch, but without a value for the file-name field. This is currently the case with the bash package. * guix/lint.scm (check-patch-file-names): Change origin-file-name to origin-actual-file-name. Christopher Baines
2020-06-12git-authenticate: Disallow SHA1 (and MD5) signatures....* guix/git-authenticate.scm (commit-signing-key): Add #:disallowed-hash-algorithms and honor it. (authenticate-commit)[recent-commit?]: New variable. Pass #:disallowed-hash-algorithms to 'commit-signing-key'. * tests/git-authenticate.scm ("signed commits, SHA1 signature"): New test. Ludovic Courtès
2020-06-12download: Add more apache mirrors....* guix/download.scm (%mirrors): Add more apache mirrors. Efraim Flashner
2020-06-11guix: lint: Support origins in check-patch-file-names....* guix/lint.scm (check-patch-file-names)[starts-with-package-name?]: New procedure, extracted from the existing logic. Using it, add a clause to the match-lambda to handle origin records. Chris Marusich
2020-06-11Merge branch 'master' into stagingMarius Bakke
2020-06-11packages: 'package-grafts' returns grafts for all the relevant outputs....Fixes <https://bugs.gnu.org/41796>. Reported by Jakub Kądziołka <kuba@kadziolka.net>. * guix/packages.scm (input-graft): Add 'output' parameter and honor it. Add OUTPUT to the cache key. (input-cross-graft): Likewise. (fold-bag-dependencies): Operate on inputs instead of nodes. Turn VISITED into a vhash instead of a set. Pass PROC HEAD and OUTPUT instead of just HEAD. (bag-grafts): Adjust accordingly. * tests/packages.scm ("package-grafts, dependency on several outputs"): New test. Ludovic Courtès
2020-06-10database: separate transaction-handling and retry-handling....Previously call-with-transaction would both retry when SQLITE_BUSY errors were thrown and do what its name suggested (start and rollback/commit a transaction). This changes it to do only what its name implies, which simplifies its implementation. Retrying is provided by the new call-with-SQLITE_BUSY-retrying procedure. * guix/store/database.scm (call-with-transaction): no longer restarts, new #:restartable? argument controls whether "begin" or "begin immediate" is used. (call-with-SQLITE_BUSY-retrying, call-with-retrying-transaction, call-with-retrying-savepoint): new procedures. (register-items): use call-with-retrying-transaction to preserve old behavior. * .dir-locals.el (call-with-retrying-transaction, call-with-retrying-savepoint): add indentation information. Caleb Ristvedt