summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2020-11-17utils: 'wrap-script' doesn't pass a non-literal string to 'format'....Reported by Vagrant Cascadian <vagrant@debian.org> in <https://bugs.gnu.org/44626>. * guix/build/utils.scm (wrap-script): Use 'display' instead of passing a non-literal string to 'format'. Ludovic Courtès
2020-11-06build-system/meson: Do not apply strip-runpath to the "debug" output....Because the debug files are read-only, the strip-runpath procedure would throw an exception when attempting to open them. * guix/build/meson-build-system.scm (shrink-runpath): Remove "debug" from the list of outputs to be processed. Maxim Cournoyer
2020-10-20build-system/python: Revert changing of phase order....Commit c94a2864d4 moved the 'check' phase back into its original place before the 'install' phase, but such a change would require adapting the definition of many Python packages which have come to rely on such phase ordering. * guix/build/python-build-system.scm (%standard-phases): Move the check phase back after the install phase, and update comment. Maxim Cournoyer
2020-10-19build-system/python: Do not embed timestamps in the .pyc byte code files....Fixes <https://issues.guix.gnu.org/22129>. A previously worked around problem where running the test suite after byte compiling the sources in commit 6bbb37a545912c6bb2513ee08587ee4fe39cc330 could be broken by adding built sources to the PYTHONPATH, as is done for python-matplotlib and many others. This seems to be caused by the timestamps embedded in the sources (mtime), that can somehow change when running the tests, or by picking up the different installed source files mtimes when their location is added to the PYTHONPATH. Since Python 3.7.0, it is possible to produce .pyc byte code files that do not embed any timestamp, which solves the problem in a definitive way. This patch makes use of this new feature. * guix/build/python-build-system.scm (install): Add '--no-compile' parameter to setup.py, and instead invoke the 'compileall' module with the "--invalidation-mode=unchecked-hash" option to byte compile the source files. (%standard-phases): Revert the workaround that moved the check phase after the install phase, as it is no longer necessary. Update comment. Reported-by: Mark H Weaver <mhw@netris.org> Maxim Cournoyer
2020-10-19Merge branch 'staging'...Conflicts: gnu/packages/admin.scm gnu/packages/commencement.scm gnu/packages/gdb.scm gnu/packages/llvm.scm gnu/packages/package-management.scm gnu/packages/tls.scm Maxim Cournoyer
2020-10-19Merge branch 'master' into stagingMarius Bakke
2020-10-19build-system/haskell: Disable parallel builds....Fixes <https://bugs.gnu.org/43843>. * guix/build-system/haskell.scm (haskell-build): Turn off PARALLEL-BUILD? by default. Signed-off-by: Marius Bakke <marius@gnu.org> zimoun
2020-10-18system: Provide locale information to the bootloader....* 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. Miguel Ángel Arruga Vivas
2020-10-18gexp: 'assume-valid-file-name' has files looked up under the CWD....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. Ludovic Courtès
2020-10-17import: utils: Fix license name mismatches and define CUA-OPL-1.0....* 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> Helio Machado
2020-10-16store: Fix docstring typo....* guix/store/roots.scm (gc-roots): Fix typo in docstring. Tobias Geerinckx-Rice
2020-10-16build: Fix docstring typos....* gnu/build/image.scm (estimate-partition-size): Fix typo in docstring. * guix/build/copy-build-system.scm (install): Likewise. * guix/build/lisp-utils.scm (generate-executable): Likewise. * guix/build/maven/pom.scm (find-parent, fix-pom-dependencies): Likewise. * guix/build-system/cargo.scm (expand-crate-sources): Likewise. Tobias Geerinckx-Rice
2020-10-16gexp: Add 'assume-valid-file-name' syntax for use with 'local-file'....* guix/gexp.scm (assume-valid-file-name): New variable. (local-file): Add clause with (assume-valid-file-name file). Ludovic Courtès
2020-10-15packages: Delete duplicate inputs when lowering bags....This is a followup to 18fa433bf5c420868562b9f4b017c5c97251a44b and <https://issues.guix.gnu.org/43508>. * guix/packages.scm (derivation=?, input=?): New procedures. (bag->derivation, bag->cross-derivation): Add calls to 'delete-duplicates'. * tests/packages.scm ("package-derivation, inputs deduplicated"): New test. Ludovic Courtès
2020-10-15ui: Only suggest modules that export the unbound variable identifier....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. Ludovic Courtès
2020-10-15build-system/go: Install license files....* guix/build/go-build-system.scm (install-license-files): New procedure. (%standard-phases): Replace inherited 'install-license-files phase. Efraim Flashner
2020-10-14openpgp: '&openpgp-unrecognized-packet-error' includes type tag....* guix/openpgp.scm (&openpgp-unrecognized-packet-error)[type]: New field. (get-data, parse-subpackets): Initialize 'type' field. Ludovic Courtès
2020-10-13Merge branch 'master' into stagingMarius Bakke
2020-10-13gnu: nmap: Update license....* 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. Marius Bakke
2020-10-12guix build: Add '--with-c-toolchain'....* 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. Ludovic Courtès
2020-10-12packages: Add 'package-with-c-toolchain'....* 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. Ludovic Courtès
2020-10-12substitute: Reduce default narinfo negative TTL to 1h....* guix/scripts/substitute.scm (%narinfo-negative-ttl): Reduce to 1h. Ludovic Courtès
2020-10-12upgrade: Mention '--do-not-upgrade' in '--help' output....* guix/scripts/upgrade.scm (show-help): Add '--do-not-upgrade'. Ludovic Courtès
2020-10-12lint: cve: Set a connection timeout....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'. Ludovic Courtès
2020-10-12http-client: 'http-fetch' and 'http-fetch/cached' accept #:timeout....* 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'. Ludovic Courtès
2020-10-12channels: Address test failure....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'. Ludovic Courtès
2020-10-11reconfigure: Start services not currently running....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. Ludovic Courtès
2020-10-10svn-download, hg-download: Use 'report-invoke-error'....* guix/build/hg.scm (hg-fetch): Use 'report-invoke-error' instead of 'format'. * guix/build/svn.scm (svn-fetch): Likewise. Ludovic Courtès
2020-10-08packages, scripts, utils: Enable multi-threaded xz compression....xz compression is slow; using the multi-thread mode of xz can make it more than 6 times faster, for example when compressing the large linux-libre source. * guix/build/utils.scm (%xz-parallel-args): New procedure. * guix/packages.scm (patch-and-repack): Specify the required above xz arguments by setting the XZ_DEFAULTS environment variable. * guix/scripts/pack.scm (%compressors, bootstrap-xz): Modify the commands Gexps so they do not need to be quoted. This allows lazily evaluating the arguments on the builder's side. Specify the required xz arguments. (self-contained-tarball): Do not quote the compressor command value. (docker-image): Likewise. * guix/utils.scm (decompressed-port, compressed-port) (compressed-output-port): Specify the required above xz arguments. Maxim Cournoyer
2020-10-08utils: Do not raise exceptions in delete-file-recursively....This makes it so that delete-file-recursively honors its docstring, which says it should "report but ignore errors". Fixes <https://issues.guix.gnu.org/43366>. * guix/build/utils.scm (warn-on-error): New syntax. (delete-file-recursively): Use it to catch exceptions and print warning messages. Reported-by: Fredrik Salomonsson <plattfot@gmail.com> Maxim Cournoyer
2020-10-08offload: Improve load normalization and configurability....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. Maxim Cournoyer
2020-10-08build: svn: Fix handle fetch errors....This fixes the revert 1ec67d5220b0ebac20263b44f4fefaf51ba8fdbb. * guix/build/svn.scm (svn-fetch): Add 'guard' to handle errors. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> zimoun
2020-10-06Revert "build: svn: Handle fetch errors."...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 Paul Garlick
2020-10-06build: svn: Handle fetch errors....* guix/build/svn.scm (svn-fetch): Add 'guard' to handle errors. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> zimoun
2020-10-06build: hg: Handle fetch errors....* guix/build/hg.scm (hg-fetch): Add 'guard' to handle errors. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> zimoun
2020-10-06build-system/cargo: Don't install .crates.toml file....Fixes <https://issues.guix.gnu.org/43810>. * guix/build/cargo-build-system.scm (install): Remove installed .crates.toml file. Efraim Flashner
2020-10-05self: Use a 'guile' that doesn't complain about locales....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. Ludovic Courtès
2020-10-05Merge branch 'master' into stagingGuillaume Le Vaillant
2020-10-05environment: Turn "lo" up in network-less containers....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. Ludovic Courtès
2020-10-02environment: Provide /etc/hosts in containers without '--network'....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. Ludovic Courtès
2020-10-02guix package: Re-apply package transformation when upgrading....* 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. Ludovic Courtès
2020-10-02guix build: Record package transformations in manifest entries....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. Ludovic Courtès
2020-10-02scripts: system: Honor target argument....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. Mathieu Othacehe
2020-10-02gexp: Fix argument ordering in 'local-file' macro....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. Ludovic Courtès
2020-10-02ui: Use "guix install" in locale hint....* guix/ui.scm (install-locale): Change "guix package -i" to "guix install". Ludovic Courtès
2020-10-02gexp: 'local-file' warns when passed a non-literal relative file name....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. Ludovic Courtès
2020-10-02import: opam: Report groups in syntax tree....* guix/import/opam.scm (group-pat): Report in syntax tree. (dependency->input, dependency->native-input, dependency->name): consider the case of a group. Julien Lepiller
2020-10-01guix: opam: Fix syntax....* guix/import/opam.scm (STRCHR, comment, choice): Fix syntax. (group-pat): Add syntax. (opam->guix-package): Suppport "archive" keyword. Julien Lepiller
2020-10-01ui: "guix help" silently ignores EPIPE....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'. Ludovic Courtès
2020-10-01pack: Work around ld.so bug that affects the "fakechroot" engine....Fixes <https://bugs.gnu.org/43491>. * guix/scripts/pack.scm (wrapped-package): Use (runpath program) instead of (runpath #$(audit-module)). Ludovic Courtès