summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* import: crate: make-crate-sexp: Fix missing home-page handling.Christopher Baines2020-10-19
| | | | | * guix/import/crate.scm (make-crate-sexp): Replace 'null rather than '() with the empty string for the home-page.
* import: print: Fix deprecation warning for origin-sha256.Helio Machado2020-10-19
| | | | | | | * guix/import/print.scm (source->code source version): Replace 'origin-sha256' by 'origin-hash' and handle non-SHA256 hashes. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* system: Provide locale information to the bootloader.Miguel Ángel Arruga Vivas2020-10-18
| | | | | | | | | * gnu/machine/ssh.scm (roll-back-managed-host): Use locale information from boot-parameters. * gnu/system.scm (operating-system-bootcfg): Provide locale information to the bootloader. * guix/system/script.scm (reinstall-bootloader): Use locale information from boot-parameters.
* gexp: 'assume-valid-file-name' has files looked up under the CWD.Ludovic Courtès2020-10-18
| | | | | | | | | | Fixes a bug introduced in 5d4ad8e1be6d60c38577e2f3d92cc5642b12eff0, whereby files enclosed in 'assume-valid-file-name' would be looked up relative to the source directory instead of relative to the current directory. * guix/gexp.scm (local-file): In the 'assume-valid-file-name' case, look up FILE relative to the current working directory.
* import: utils: Fix license name mismatches and define CUA-OPL-1.0.Helio Machado2020-10-17
| | | | | | | | * guix/licenses.scm (cua-opl1.0): New variable. * guix/import/utils.scm (spdx-string->license): Rename licenses to fit the internal names and add a notice pointing to guix/licenses.scm. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gexp: Add 'assume-valid-file-name' syntax for use with 'local-file'.Ludovic Courtès2020-10-16
| | | | | * guix/gexp.scm (assume-valid-file-name): New variable. (local-file): Add clause with (assume-valid-file-name file).
* ui: Only suggest modules that export the unbound variable identifier.Ludovic Courtès2020-10-15
| | | | | | | | | Fixes <https://bugs.gnu.org/43498>. Reported by Tobias Geerinckx-Rice <me@tobias.gr>. * guix/ui.scm (known-variable-definition): Check for variables in the public interface of HEAD, not in HEAD itself. * tests/guix-build.sh: Add test.
* build-system/go: Install license files.Efraim Flashner2020-10-15
| | | | | * guix/build/go-build-system.scm (install-license-files): New procedure. (%standard-phases): Replace inherited 'install-license-files phase.
* openpgp: '&openpgp-unrecognized-packet-error' includes type tag.Ludovic Courtès2020-10-14
| | | | | | * guix/openpgp.scm (&openpgp-unrecognized-packet-error)[type]: New field. (get-data, parse-subpackets): Initialize 'type' field.
* gnu: nmap: Update license.Marius Bakke2020-10-13
| | | | | | | * guix/licenses.scm (nmap): Rename to ... (npsl): ... this. Adjust name and URL, and remove outdated Fedora wiki entry in favor of nmap's own annotated version. * gnu/packages/admin.scm (nmap)[license]: Adjust accordingly.
* guix build: Add '--with-c-toolchain'.Ludovic Courtès2020-10-12
| | | | | | | | | | | | | | * guix/scripts/build.scm (package-dependents/spec) (package-toolchain-rewriting, transform-package-toolchain): New procedures. (%transformations): Add it. (%transformation-options, show-transformation-options-help): Add '--with-c-toolchain'. * tests/scripts-build.scm (depends-on-toolchain?): New procedure. ("options->transformation, with-c-toolchain") ("options->transformation, with-c-toolchain twice") New test. ("options->transformation, with-c-toolchain, no effect"): New tests. * doc/guix.texi (Package Transformation Options): Document it.
* packages: Add 'package-with-c-toolchain'.Ludovic Courtès2020-10-12
| | | | | | | | * guix/build-system.scm (build-system-with-c-toolchain): New procedure. * guix/packages.scm (package-with-c-toolchain): New procedure. * tests/packages.scm ("package-with-c-toolchain"): New test. * doc/guix.texi (package Reference): Document 'package-with-c-toolchain'. (Build Systems): Mention it.
* substitute: Reduce default narinfo negative TTL to 1h.Ludovic Courtès2020-10-12
| | | | * guix/scripts/substitute.scm (%narinfo-negative-ttl): Reduce to 1h.
* upgrade: Mention '--do-not-upgrade' in '--help' output.Ludovic Courtès2020-10-12
| | | | * guix/scripts/upgrade.scm (show-help): Add '--do-not-upgrade'.
* lint: cve: Set a connection timeout.Ludovic Courtès2020-10-12
| | | | | | | | | | | | This (notably) works around the fact that nvd.nist.gov is currently inaccessible over IPv6. * guix/cve.scm (fetch-vulnerabilities): Add #:timeout and pass it to 'http-fetch/cached'. (current-vulnerabilities): Add #:timeout and pass it to 'fetch-vulnerabilities'. * guix/lint.scm (current-vulnerabilities*): Pass #:timeout to 'current-vulnerabilities'.
* http-client: 'http-fetch' and 'http-fetch/cached' accept #:timeout.Ludovic Courtès2020-10-12
| | | | | | | * guix/http-client.scm (http-fetch): Add #:timeout and pass it to 'guix:open-connection-for-uri'. (http-fetch/cached): Add #:timeout parameter and pass it to 'http-fetch'.
* channels: Address test failure.Ludovic Courtès2020-10-12
| | | | | | | | | | | | | Fixes <https://bugs.gnu.org/43940>. Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>. The "channel-instances->manifest" test would fail since 1d4ab335b22a93e01c2eb1eb3e93fc6534157040: 'quiet-guile' would be passed #f as GUILE, and thus 'package-version' would fail with wrong-type-arg. * guix/channels.scm (whole-package-for-legacy): Pass #:guile to 'whole-package'. * tests/channels.scm ("channel-instances->manifest"): Remove 'test-expect-fail'.
* reconfigure: Start services not currently running.Ludovic Courtès2020-10-11
| | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/43720>. Reported by Andreas Enge <andreas@enge.fr>. The bug was introduced in 5c793753b31b1dcd9a554bce953124f7ae88ca9a, which changed the way TO-START is computed: as a function of the running services first, and then as a function of the live services (which includes services not currently running). * guix/scripts/system/reconfigure.scm (running-services): Serialize the 'running' field and return it. (upgrade-shepherd-services): Comput RUNNING. Compute TO-START as the difference between TARGET-SERVICES and RUNNING.
* svn-download, hg-download: Use 'report-invoke-error'.Ludovic Courtès2020-10-10
| | | | | | * guix/build/hg.scm (hg-fetch): Use 'report-invoke-error' instead of 'format'. * guix/build/svn.scm (svn-fetch): Likewise.
* offload: Improve load normalization and configurability.Maxim Cournoyer2020-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/43773>. The computed normalized load was previously obtained by dividing the load average as found in /proc/loadavg by the number of parallel builds defined for a build machine. This normalized load didn't allow to compare machines with different number of cores, as the load average reported by /proc/loadavg can be as high as the number of cores; thus comparing that value to a fixed threshold of 2.0 would mean machines with multiple cores were more likely to be flagged as overloaded compared to single core machines. This can be fixed by normalizing using the available number of cores instead of the number of parallel jobs. * guix/scripts/offload.scm (<build-machine>)[overload-threshold]: New field. (node-load): Modify to return a normalized load value between 0 and 1, taking into account the number of cores available. (normalized-load): Remove procedure. (report-load): New procedure. (choose-build-machine): Adjust to use the modified 'node-load' and the new 'report-load' and 'build-machine-overload-threshold' procedures. (check-machine-status): Adjust. * doc/guix.texi (Daemon Offload Setup): Document the offload scheduler and the new 'overload-threshold' field.
* build: svn: Fix handle fetch errors.zimoun2020-10-08
| | | | | | | | This fixes the revert 1ec67d5220b0ebac20263b44f4fefaf51ba8fdbb. * guix/build/svn.scm (svn-fetch): Add 'guard' to handle errors. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* Revert "build: svn: Handle fetch errors."Paul Garlick2020-10-06
| | | | | | | | This reverts commit 2fb12dd1bb725592e1561ac8f4b32fb68accb161, which causes the 'svn export' command to fail with: svn: E155000: Destination directory exists; please remove the directory or use --force to overwrite
* build: svn: Handle fetch errors.zimoun2020-10-06
| | | | | | * guix/build/svn.scm (svn-fetch): Add 'guard' to handle errors. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* build: hg: Handle fetch errors.zimoun2020-10-06
| | | | | | * guix/build/hg.scm (hg-fetch): Add 'guard' to handle errors. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* build-system/cargo: Don't install .crates.toml file.Efraim Flashner2020-10-06
| | | | | | | Fixes <https://issues.guix.gnu.org/43810>. * guix/build/cargo-build-system.scm (install): Remove installed .crates.toml file.
* self: Use a 'guile' that doesn't complain about locales.Ludovic Courtès2020-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit ba48895899a117d6ace2209c3f54411a4a989133, selected UTF-8 locales are bundled. However, because 'guix-command' is itself a Guile script, users would still see Guile's warning, particularly on foreign distros: $ LC_ALL=sdf guix foo guile: warning: failed to install locale hint: Consider installing the `glibc-utf8-locales' [...] User commands would print that warning, but more importantly, each invocation of 'guix substitute' would print it, even though 'guix-daemon.service' explicitly chooses "en_US.utf8", which is in 'glibc-utf8-locales'. This leads to confusion since users would keep seeing this message unless/until they realize they also need to install 'glibc-utf8-locales' in root's profile. This patch gets rid of "guile: warning: ..." for a guix-pulled 'guix' command. * guix/self.scm (specification->package): Add "gcc-toolchain". (quiet-guile): New procedure. (guix-command): Use it. * gnu/packages/aux-files/guile-launcher.c: New file. * Makefile.am (AUX_FILES): Add it.
* environment: Turn "lo" up in network-less containers.Ludovic Courtès2020-10-05
| | | | | | | | This is a followup to 0f53c801b91919380a924b402d1ff822bb1dc6ea. * guix/scripts/environment.scm (launch-environment/container): Add call to 'set-network-interface-up'. * tests/guix-environment-container.sh: Add test.
* environment: Provide /etc/hosts in containers without '--network'.Ludovic Courtès2020-10-02
| | | | | | | | Fixes <https://bugs.gnu.org/43762>. * guix/scripts/environment.scm (launch-environment/container): Create /etc/hosts when NETWORK? is false. * tests/guix-environment-container.sh: Add "localhost" resolution test.
* guix package: Re-apply package transformation when upgrading.Ludovic Courtès2020-10-02
| | | | | | | | | | | | | * guix/scripts/package.scm (transaction-upgrade-entry)[upgrade]: Add 'transform' parameter. Pass PKG through it. Use 'manifest-entry-with-transformations'. Call 'options->transformation' to get the transformation procedure. * tests/guix-package.sh: Add 'guix package -u' test. * tests/packages.scm ("transaction-upgrade-entry, transformation options preserved"): New test. * doc/guix.texi (Invoking guix package): Mention that transformations are preserved across upgrades. (Package Transformation Options): Likewise.
* guix build: Record package transformations in manifest entries.Ludovic Courtès2020-10-02
| | | | | | | | | | | | | | | | | | With this change, package transformation options used while building a manifest are saved in the metadata of the manifest entries. * guix/scripts/build.scm (transformation-procedure): New procedure. (options->transformation)[applicable]: Use it. Change to a list of key/value/proc tuples instead of key/proc pairs. [package-with-transformation-properties, tagged-object]: New procedures. Use them. (package-transformations, manifest-entry-with-transformations): New procedures. * guix/scripts/pack.scm (guix-pack)[with-transformations]: New procedure. Use it. * guix/scripts/package.scm (process-actions)[transform-entry]: Use it. * tests/guix-package-aliases.sh: Add test.
* scripts: system: Honor target argument.Mathieu Othacehe2020-10-02
| | | | | | | | | | | | Since 313f492657f1d0863c641fa5ee7f5b7028e27c94 the target argument passed to "guix system" was not honored for 'disk-image' command. This forces the command line passed "target" to take precedence over the "target" field of the <image> record returned by "os->image" procedure. * guix/scripts/system.scm (system-derivation-for-action): Override the "target" field of the "image" record using the "target" argument from the command line.
* gexp: Fix argument ordering in 'local-file' macro.Ludovic Courtès2020-10-02
| | | | | | | | | Fixes a regression introduced in f43ffee90882c2d61b46d69728daa7432be297e4. Reported by jonsger on #guix. * guix/gexp.scm (local-file): In the non-literal case, add #:literal? and #:location after REST.
* ui: Use "guix install" in locale hint.Ludovic Courtès2020-10-02
| | | | * guix/ui.scm (install-locale): Change "guix package -i" to "guix install".
* gexp: 'local-file' warns when passed a non-literal relative file name.Ludovic Courtès2020-10-02
| | | | | | | | | | | Fixes <https://bugs.gnu.org/43736>. Reported by Vitaliy Shatrov <guix.vits@disroot.org>. * guix/gexp.scm (%local-file): Add #:literal? and #:location. Emit a warning when LITERAL? is false and FILE is not absolute. (local-file): In the non-literal case, pass #:location and #:literal?. * po/guix/POTFILES.in: Add guix/gexp.scm. * tests/guix-system.sh: Add test for the warning.
* import: opam: Report groups in syntax tree.Julien Lepiller2020-10-02
| | | | | | * guix/import/opam.scm (group-pat): Report in syntax tree. (dependency->input, dependency->native-input, dependency->name): consider the case of a group.
* guix: opam: Fix syntax.Julien Lepiller2020-10-01
| | | | | | * guix/import/opam.scm (STRCHR, comment, choice): Fix syntax. (group-pat): Add syntax. (opam->guix-package): Suppport "archive" keyword.
* ui: "guix help" silently ignores EPIPE.Ludovic Courtès2020-10-01
| | | | | | | This avoids a backtrace when running "guix help | head" or similar. * guix/ui.scm (run-guix): Wrap 'show-guix-help' calls in 'leave-on-EPIPE'.
* pack: Work around ld.so bug that affects the "fakechroot" engine.Ludovic Courtès2020-10-01
| | | | | | | Fixes <https://bugs.gnu.org/43491>. * guix/scripts/pack.scm (wrapped-package): Use (runpath program) instead of (runpath #$(audit-module)).
* scripts: system: Add support for image-type.Mathieu Othacehe2020-09-30
| | | | | | | | | | | | | | | | | | | * guix/scripts/system.scm (list-image-types): New procedure, (%options): add "image-type" and "list-image-types" options, remove "file-system-type" option, (show-help): adapt accordingly, (%default-options): also adapt, and set the default "image-type" to "raw", (perform-action): add image-type argument and remove file-system-type argument, (process-action): adapt perform-action call, (system-derivation-for-action): remove base-image argument, add image-type argument, and use it to create the image passed to "system-image". * tests/guix-system.sh: Adapt accordingly and add a test for "--list-image-types" command. * doc/guix.texi (Building the Installation Image, Invoking guix system): Adapt accordingly. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* openpgp: Fix argument order of 'fxbit-set?'.Lars-Dominik Braun2020-09-29
| | | | | | | | | | * guix/openpgp.scm (fxbit-set?): Change to swap arguments compared to 'bit-set?'. * tests/openpgp.scm (%binary-sample): New test vector. ("port-ascii-armored?, #t"): Add test. ("port-ascii-armored?, #f"): Add another test. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* guix build: Add a hint for unspecified value.Julien Lepiller2020-09-29
| | | | | * guix/scripts/build.scm (options->things-to-build): Add a hint when we cannot build something.
* packages: 'package-input-rewriting' has a #:deep? parameter.Ludovic Courtès2020-09-27
| | | | | | | | | | | | | * guix/packages.scm (package-input-rewriting): Add #:deep? and pass it to 'package-mapping'. [replacement-property]: New variable. [rewrite]: Check it. [cut?]: New procedure. * tests/packages.scm ("package-input-rewriting"): Pass #:deep? #f and ensure implicit inputs were not rewritten. Avoid 'eq?' comparisons. ("package-input-rewriting, deep"): New test. * gnu/packages/guile.scm (package-for-guile-2.0, package-for-guile-3.0): Pass #:deep? #f.
* packages: 'package-mapping' correctly recurses into 'replacement'.Ludovic Courtès2020-09-27
| | | | | | | | | | | | | Previously, something like: guix build glib --with-graft=glibc=glibc@2.29 would produce a result showing that rewriting rules were not applied to libx11@1.6.A (a replacement). * guix/packages.scm (package-mapping): Call REPLACE instead of PROC to 'replacement'. * tests/packages.scm ("package-input-rewriting/spec, graft"): New test.
* packages: 'package-input-rewriting/spec' can rewrite implicit dependencies.Ludovic Courtès2020-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this change, '--with-input', '--with-graft', etc. also apply to implicit dependencies. Thus, it's now possible to do: guix build python-itsdangerous --with-input=python-wrapper=python@2 or: guix build hello --with-graft=glibc=glibc@2.29 Additionally, before, implicit inputs were not rewritten, which could lead to duplicates in the output of 'bag-transitive-inputs' (packages that are not 'eq?' but lead to the same derivation). This in turn would lead to unnecessary rebuilds when using '--with-input' & co. This change fixes it by ensuring even implicit inputs are rewritten. Fixes <https://bugs.gnu.org/42156>. * guix/packages.scm (package-input-rewriting/spec): Add #:deep? defaulting to #true, and pass it to 'package-mapping'. [replacement-property]: New variable. [rewrite]: Check that property and set it on the result of PROC. [cut?]: New procedure. * tests/packages.scm ("package-input-rewriting/spec"): Ensure implicit inputs were unchanged. ("package-input-rewriting/spec, partial match"): Pass #:deep? #f. ("package-input-rewriting/spec, deep") ("package-input-rewriting/spec, no duplicates"): New tests. (package/inherit): Move before use. * tests/guix-build.sh: Add tests. * tests/scripts-build.scm ("options->transformation, with-graft"): Compare dependencies by package name or derivation file name. * doc/guix.texi (Defining Packages): Adjust accordingly.
* packages: 'package-mapping' can recurse on implicit inputs.Ludovic Courtès2020-09-27
| | | | | | | | * guix/packages.scm (build-system-with-package-mapping): New procedure. (package-mapping): Add #:deep? and honor it. * tests/packages.scm ("package-mapping"): Compare the direct inputs of the bag of P0 and that of P1. ("package-mapping, deep"): New test.
* guix build: Add '--without-tests'.Ludovic Courtès2020-09-27
| | | | | | | | | * guix/scripts/build.scm (transform-package-tests): New procedure. (%transformations, %transformation-options) show-transformation-options-help): Add it. * tests/scripts-build.scm ("options->transformation, without-tests"): New test. * doc/guix.texi (Package Transformation Options): Document it.
* gnu: Replace uses of 'guile3.0-gnutls' by 'gnutls'.Ludovic Courtès2020-09-25
| | | | | | | * gnu/packages/package-management.scm (guix)[propagated-inputs]: Use GNUTLS instead of GUILE3.0-GNUTLS. (guix-daemon)[inputs]: Likewise. * guix/self.scm (specification->package): Likewise.
* guix package: Simplify 'package->manifest-entry*'.Ludovic Courtès2020-09-25
| | | | | * guix/scripts/package.scm (package->manifest-entry*): Rewrite in terms of 'manifest-entry-with-provenance'.
* licenses: Add Apple Public Source License 2.0.André Batista2020-09-25
| | | | | | * guix/licenses.scm (apsl2): New variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* import: Fix docstring typoes.Tobias Geerinckx-Rice2020-09-23
| | | | | | * guix/import/cabal.scm (cabal-flags->alist): Fix typo in docstring. * guix/import/stackage.scm (lts-info-ghc-version): Likewise. * guix/scripts/import/hackage.scm (show-help): Likewise.