summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2019-10-25guix build: Remove obsolete TODO.Ludovic Courtès
* guix/scripts/build.scm (set-build-options-from-command-line): Remove obsolete TODO comment.
2019-10-25guix build: Warn when '--keep-failed' is passed to a remote daemon.Ludovic Courtès
* guix/scripts/build.scm (set-build-options-from-command-line): When OPTS has 'keep-failed?' set, check whether STORE is connected over AF_UNIX and warn when it's not.
2019-10-24Revert "guix: svn: Allow dropping externals."Tobias Geerinckx-Rice
This reverts commit 51395c84fdbf8daed6392951a973ad750cf3eefa, fixing <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37896>. Reported by <o.rojon@posteo.net>.
2019-10-23guix: svn: Allow dropping externals.Julien Lepiller
* guix/build/svn.scm (svn-fetch): Allow to ignore externals. * guix/svn-download.scm (svn-reference, svn-multi-reference): Add recursive? field.
2019-10-23lint: Re-enable CVE checker.Ludovic Courtès
This reverts d7fcd9c565812919109ae88049f5d8bf4c56f9bd. * guix/lint.scm (%network-dependent-checkers): Re-enable 'cve checker.
2019-10-23cve: Rewrite to read the JSON feed instead of the XML feed.Ludovic Courtès
The XML feed was discontinued on Oct. 16th, 2019: <https://nvd.nist.gov/General/News/XML-Vulnerability-Feed-Retirement-Phase-3> * guix/cve.scm (string->date*): New procedure. (<cve-item>, <cve>, <cve-reference>): New record types. (cpe-match->cve-configuration, configuration-data->cve-configurations) (json->cve-items, version-matches?): New procedures. (yearly-feed-uri): Change URL to refer to JSON feed. (cpe->product-alist, %parse-vulnerability-feed) (xml->vulnerabilities): Remove. (cve-configuration->package-list, merge-package-lists) (cve-item->vulnerability, json->vulnerabilities): New procedures. (write-cache): Use 'json->vulnerabilities' instead of 'xml->vulnerabilities', and remove 'parameterize'. (vulnerabilities->lookup-proc): Use 'version-matches?' when VERSION is true. * tests/cve.scm (%sample): Use 'tests/cve-sample.json'. (%expected-vulnerabilities): Rewrite accordingly. ("json->cve-items", "cve-item-published-date") ("json->vulnerabilities"): New tests. ("xml->vulnerabilities"): Remove. ("vulnerabilities->lookup-proc"): Adjust to new vulnerabilities. * tests/cve-sample.json: New file. * tests/cve-sample.xml: Remove. * Makefile.am (EXTRA_DIST): Adjust accordingly. * doc/guix.texi (Invoking guix lint): Update nist.gov URLs.
2019-10-21download: Honor /etc/ssl/certs when 'SSL_CERT_DIR' is not set.Ludovic Courtès
* guix/build/download.scm (%x509-certificate-directory): Use "/etc/ssl/certs" as a last resort. This ensures, for instance, that 'guix download' honors system-wide certificates when SSL_CERT_DIR is unset.
2019-10-20packages: Add "aarch64-linux" to '%hydra-supported-systems'.Ludovic Courtès
* guix/packages.scm (%hydra-supported-systems): Keep "aarch64-linux".
2019-10-18reconfigure: Silence "shepherd: Evaluating ..." messages.Ludovic Courtès
* guix/scripts/system/reconfigure.scm (upgrade-services-program): Parameterize 'shepherd-message-port' to silent "Evaluating ..." messages.
2019-10-18lint: Comment out 'cve' checker.Ludovic Courtès
* guix/lint.scm (%network-dependent-checkers): Comment out 'cve' checker.
2019-10-18pull: Call 'ensure-default-profile' after 'set-build-options'.Ludovic Courtès
This is a followup to 81c580c8664bfeeb767e2c47ea343004e88223c7. * guix/scripts/pull.scm (guix-pull): Move 'ensure-default-profile' call after 'set-build-options-from-command-line' call. This ensures that the 'profiles/per-user/$USER' directory is created before 'ensure-default-profile' is called when 'GUIX_DAEMON_SOCKET' points to a remote TCP daemon.
2019-10-18build-system/asdf: Fix package transform.Guillaume Le Vaillant
* guix/build-system/asdf.scm (package-with-build-system): [find-input-package]: New function. [rewrite]: Use it.
2019-10-16daemon: Make 'profiles/per-user' non-world-writable.Ludovic Courtès
Fixes <https://bugs.gnu.org/37744>. Reported at <https://www.openwall.com/lists/oss-security/2019/10/09/4>. Based on Nix commit 5a303093dcae1e5ce9212616ef18f2ca51020b0d by Eelco Dolstra <edolstra@gmail.com>. * nix/libstore/local-store.cc (LocalStore::LocalStore): Set 'perUserDir' to #o755 instead of #o1777. (LocalStore::createUser): New function. * nix/libstore/local-store.hh (LocalStore): Add it. * nix/libstore/store-api.hh (StoreAPI): Add it. * nix/nix-daemon/nix-daemon.cc (performOp): In 'wopSetOptions', add condition to handle "user-name" property and honor it. (processConnection): Add 'userId' parameter. Call 'store->createUser' when userId is not -1. * guix/profiles.scm (ensure-profile-directory): Note that this is now handled by the daemon. * guix/store.scm (current-user-name): New procedure. (set-build-options): Add #:user-name parameter and pass it to the daemon. * tests/guix-daemon.sh: Test the creation of 'profiles/per-user' when listening on a TCP socket. * tests/store.scm ("profiles/per-user exists and is not writable") ("profiles/per-user/$USER exists"): New tests.
2019-10-15inferior: Set the error port when using older Guix versions.Christopher Baines
This makes the behaviour more consistent. * guix/inferior.scm (inferior-pipe): Wrap the second open-pipe* call with with-error-to-port, to match the first call to open-pipe*.
2019-10-15inferior: Allow controlling the inferior error port.Christopher Baines
Previously, stderr for the inferior process would always be sent to /dev/null because the current-output-port when the process is launched is a void port. This change means that it's possible to pass in a different port to use. * guix/inferior.scm (inferior-pipe): Take the error-port as an argument. (open-inferior): Add new error-port keyword argument, with a default of (%make-void-port "w").
2019-10-15ssh: Add a longer SSH timeout by default.Ludovic Courtès
* guix/ssh.scm (open-ssh-session): Add #:timeout parameter, and add call to 'session-set!' to honor it.
2019-10-15offload: Set a longer SSH session timeout.Ludovic Courtès
Fixes <https://bugs.gnu.org/37762>. * guix/scripts/offload.scm (open-ssh-session): Add 'max-silent-time' parameter. Add call to 'session-set!' before returning SESSION. (transfer-and-offload): Pass MAX-SILENT-TIME to 'open-ssh-session'. (%short-timeout): New variable. (choose-build-machine): Pass %SHORT-TIMEOUT to 'open-ssh-session'. (check-machine-availability): Likewise. (check-machine-status): Likewise.
2019-10-14gexp: Use cross extensions when cross-compiling.Mathieu Othacehe
* guix/gexp.scm (load-path-expression): Use ungexp-splicing instead of ungexp-native-splicing so that the cross extensions are used when target is set.
2019-10-14build-system/gnu: 'package-with-explicit-inputs' uses 'package-mapping'.Ludovic Courtès
* guix/build-system/gnu.scm (package-with-explicit-inputs): Rename to... (package-with-explicit-inputs/deprecated): ... this. (package-with-explicit-inputs*): New procedure. (package-with-explicit-inputs): Define as a 'case-lambda*'.
2019-10-11gnu: Add nsis-x86_64 and nsis-i686.Carl Dong
* guix/build-system/scons.scm (scons-build): Add build-targets and install-targets parameters. * guix/build/scons-build-system.scm (build, install): Adjust accordingly. * doc/guix.texi (Build Systems): Document it. * gnu/packages/installers.scm: New file, (make-nsis): New procedure, (nsis-x86_64, nsis-i686): New variables. * gnu/packages/patches/nsis-env-passthru.patch: New file. * gnu/local.mk (dist_patch_DATA, GNU_SYSTEM_MODULES): Adjust accordingly.
2019-10-06Merge branch 'master' into core-updatesRicardo Wurmus
2019-10-05syscalls: Add 'add-to-entropy-count'.Ludovic Courtès
* guix/build/syscalls.scm (RNDADDTOENTCNT): New variable. (add-to-entropy-count): New procedure. * tests/syscalls.scm ("add-to-entropy-count"): New test.
2019-10-03gexp: 'load-path-expression' produces an expression that deletes duplicates.Ludovic Courtès
Fixes <https://bugs.gnu.org/37531>. "herd eval root '(length %load-path)'" on a freshly-booted bare-bones system now returns 8 instead of 119 before. * guix/gexp.scm (load-path-expression): Rewrite expression to that it deletes duplicates.
2019-10-03environment: '--container' honors '--preserve'.Ludovic Courtès
* guix/scripts/environment.scm (launch-environment/container): Add #:white-list parameter and honor it. (guix-environment): Pass #:white-list to 'launch-environment/container'. * tests/guix-environment-container.sh: Add test.
2019-10-02channels: Add quirk to build recent 'master' with Guile 2.2.4.Ludovic Courtès
Fixes <https://bugs.gnu.org/37506>. Reported by Marius Bakke <mbakke@fastmail.com>. * guix/channels.scm (syscalls-reexports-local-variables?) (guile-2.2.4, guile-for-source): New procedures. (%quirks): New variable. (build-from-source): Add calls to 'guile-for-source' and 'set-guile-for-build'.
2019-10-01import: crate: Add '--recursive'.Martin Becze
* guix/scripts/import/crate.scm (show-help, guix-import-crate): Add '--recursive'. * doc/guix.texi (Invoking guix import): Mention '--recursive'. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-10-01import: crate: Support recursive imports.Martin Becze
* guix/import/crate.scm (crate-recursive-import): New procedure. (crate->guix-package): Return dependencies as a second value. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-10-01pull: Do not use '~*', which 'msgfmt' fails to interpret.Konrad Hinsen
Really fixes <https://bugs.gnu.org/37505>. This is a followup to f751b4646d3989d76dad9e33e39f9724c7c50be6. * guix/scripts/pull.scm (display-channel-news): Remove second occurrence of '~*' in a format string. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-10-01inferior: Change to use the (guix repl) module.Christopher Baines
Rather than (guix scripts repl), from which the machine-repl procedure was removed in [1]. 1: 92a4087bf4862d5ba9b77111eba3c68c2a1c4679 * guix/inferior.scm (inferior-pipe): Load (guix repl) rather than (guix scripts repl).
2019-10-01Merge branch 'master' into core-updatesLudovic Courtès
2019-10-01pull: Do not use '~*', which 'msgfmt' fails to interpret.Ludovic Courtès
Fixes <https://bugs.gnu.org/37505>. Reported by Konrad Hinsen <konrad.hinsen@fastmail.net>. * guix/scripts/pull.scm (display-channel-news): Use ~a instead of ~* when reporting new channels.
2019-10-01ui: 'show-what-to-build' colorizes store file names.Ludovic Courtès
* guix/ui.scm (colorize-store-file-name): New procedure. (show-what-to-build)[colorize-store-item]: New variable. Use it throughout.
2019-09-29syscalls: 'define-as-needed' does not re-export local variables.Ludovic Courtès
Fixes <https://bugs.gnu.org/36723>. Reported by Timothy Sample <samplet@ngyro.com>. * guix/build/syscalls.scm (define-as-needed): Rewrite to use lower-level module primitives; define VARIABLE only if it's not already defined to avoid "re-exporting local variable" error.
2019-09-28offload: Include the port number in the machine lock file name.Ludovic Courtès
This is useful when a single machine appears several time, with different port numbers. * guix/scripts/offload.scm (machine-slot-file): Add MACHINE's port to the file name.
2019-09-27compile: Fix race condition on completion progress.Eric Bavier
This prevent a race condition where multiple compilation threads could report the same progress. * guix/build/compile.scm (compile-files)<completed>: Rename to... <progress>: ...this. Increment in same mutex region as the compilation is reported.
2019-09-27Merge branch 'master' into core-updatesMarius Bakke
2019-09-26self: Mark trivial "-modules" derivations as non-substitutable.Ludovic Courtès
The resulting nar takes ~500KiB and it's quicker to build it locally than to download it. * guix/self.scm (node-source+compiled): Pass #:options to 'computed-file'.
2019-09-26guix download: Ensure destination file-name is valid in the store.Hartmut Goebel
Avoid invalid store-file-name by explicitly passing the destination name, replacing any character not allowed in the store-file-name by an underscore. Fixes <http://issues.guix.gnu.org/issue/26175> * guix/scripts/download.scm (safe-naensure-valid-store-file-nameme): New function. (download-to-store*): Use it to generate a "safe" basename of URL.
2019-09-26guix package: Add '--list-profiles'.Ludovic Courtès
* guix/scripts/package.scm (show-help, %options): Add '--list-profiles'. (process-query): Honor it. * tests/guix-package.sh: Add test.
2019-09-25pull: Dim the commit ID when displaying news.Ludovic Courtès
* guix/scripts/pull.scm (display-news-entry): Dim the commit line.
2019-09-25colors: Add 'dim'.Ludovic Courtès
* guix/colors.scm (coloring-procedure): New procedure. (%highlight-color): Remove. (highlight): Define in terms of 'coloring-procedure'. (dim): New procedure.
2019-09-24Merge branch 'master' into core-updatesLudovic Courtès
2019-09-23pull: Use ~/.cache/guix/checkouts instead of ~/.cache/guix/pull.Ludovic Courtès
Previously 'channel-news-for-commit' would use the former while 'guix pull' would use the latter. Consequently, the first 'guix pull -N' would clone the repository anew. * guix/scripts/pull.scm (guix-pull): Remove 'cache', and leave %REPOSITORY-CACHE-DIRECTORY to its default value.
2019-09-23gexp: Remove unused procedure.Ludovic Courtès
* guix/gexp.scm (syntax-location-string): Remove.
2019-09-23gexp: Catch and report non-self-quoting gexp inputs.Ludovic Courtès
Previously we would, for example, generate build scripts in the store; when trying to run them, we'd get a 'read' error due to the presence of #<foo> syntax in there. * guix/gexp.scm (gexp->sexp)[self-quoting?]: New procedure. [reference->sexp]: Check whether the argument in a <gexp-input> box is self-quoting. Raise a '&gexp-input-error' condition if it's not. * tests/gexp.scm ("lower-gexp, non-self-quoting input"): New test.
2019-09-23repl, marionette: 'self-quoting?' matches keywords.Ludovic Courtès
* guix/repl.scm (self-quoting?): Add 'keyword?' and 'array?'; remove 'vector?' and 'bytevector?'. * gnu/tests.scm (marionette-shepherd-service) <start>: Likewise. <modules>: Remove (rnrs bytevector).
2019-09-23show, search: Add '--load-path'.Ludovic Courtès
* guix/scripts/search.scm (show-help, %options): Add -L/--load-path. * guix/scripts/show.scm (show-help, %options): Add -L/--load-path.
2019-09-23build: ruby-build-system: Fix typo.Vagrant Cascadian
* guix/build/ruby-build-system: Fix spelling of "invocation".
2019-09-23import: stackage: Fix typo.Vagrant Cascadian
* guix/import/stackage: Fix spelling of "version".
2019-09-23inferior: Fix typo.Vagrant Cascadian
* guix/inferior: Fix spelling of "specifications".