summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* guix build: 'options->transformation' no longer takes a 'store' parameter.Ludovic Courtès2020-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/build.scm (transform-package-source) (transform-package-inputs, transform-package-inputs/graft) (transform-package-source-branch, transform-package-source-commit) (transform-package-source-git-url, transform-package-toolchain) (transform-package-with-debug-info, transform-package-tests): Remove 'store' parameter. (options->transformation, options->derivations): Adjust accordingly. * guix/scripts/environment.scm (options/resolve-packages): Likewise. * guix/scripts/graph.scm (guix-graph): Likewise. * guix/scripts/pack.scm (guix-pack): Likewise. * guix/scripts/package.scm (transaction-upgrade-entry): Likewise. (process-actions): Likewise. * tests/scripts-build.scm ("options->transformation, no transformations") ("options->transformation, with-source, replacement"): Adjust tests. ("options->transformation, with-source") ("options->transformation, with-source, with version") ("options->transformation, with-source, PKG=URI"): Use 'lower-object' to compute the store file name of the source. ("options->transformation, with-source, no matches"): Remove 'with-store' and adjust accordingly. ("options->transformation, with-input"): Likewise. ("options->transformation, with-graft"): Likewise. ("options->transformation, with-branch"): Likewise. ("options->transformation, with-commit"): Likewise. ("options->transformation, with-git-url"): Likewise. ("options->transformation, with-git-url + with-branch"): Likewise. ("options->transformation, with-c-toolchain"): Likewise. ("options->transformation, with-c-toolchain twice"): Likewise. ("options->transformation, with-c-toolchain, no effect"): Likewise. ("options->transformation, with-debug-info"): Likewise. ("options->transformation, without-tests"): Likewise.
* guix build: Remove unnecessary (replacement #f).Ludovic Courtès2020-10-31
| | | | | * guix/scripts/build.scm (package-with-source): Remove 'replacement' field, which is innate since d5ec5ed7197d121130af6953378bcfd8929a9754.
* guix build: 'package-with-source' no longer takes a 'store' parameter.Ludovic Courtès2020-10-31
| | | | | | | | | * guix/scripts/build.scm (<downloaded-file>): New record type. (download-to-store*): New variable. (compile-downloaded-file): New procedure. (package-with-source): Remove 'store' parameter. Use 'downloaded-file' instead of 'download-to-store'. (transform-package-source): Adjust accordingly.
* guix: pack: Only wrap executable files.Eric Bavier2020-10-30
| | | | | | | * guix/scripts/pack.scm (wrapped-package)<build>: Build wrappers for executable files and symlink others. * tests/guix-pack-relocatable.sh: Test relocatable example of mixed executable and non-executable files.
* guix: pack: Fix offset calculation for store directory mount point.Eric Bavier2020-10-30
| | | | | | | | | | Fixes wrapping of non-package things, where the target store directory may differ in length from the original. * guix/scripts/pack.scm (wrapped-package)<build-wrapper>: Define WRAPPER_PROGRAM macro with wrapper's file name. * gnu/packages/aux-files/run-in-namespace.c (main): Offset index by len of that file name.
* scripts: lint: Add '--exclude' option.zimoun2020-10-30
| | | | | | | | * guix/scripts/lint.scm (%options, parse-options): Add '--exclude' option. (option-checker): New helper function. * doc/guix.texi (Invoking guix lint): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* scripts: lint: Fix '--no-network' option.zimoun2020-10-30
| | | | | | | | * guix/scripts/lint.scm: (show-help): Add '--no-network' option message. (%options, parse-options): Fix argument order. * doc/guix.texi (Invoking guix lint): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* build/maven: Fix typo.Vagrant Cascadian2020-10-28
| | | | * guix/build/maven/pom: Fix spelling of "with".
* build/maven: fix-pom-dependencies: Fix typo.Vagrant Cascadian2020-10-28
| | | | * guix/build/maven/pom (fix-pom-dependencies): Fix spelling of "overrides".
* build/maven: fix-pom-dependencies: Fix typo.Vagrant Cascadian2020-10-28
| | | | * guix/build/maven/pom (fix-pom-dependencies): Fix spelling of "overridden".
* substitute: Do not discard ttl info when the response code is 202.Miguel Ángel Arruga Vivas2020-10-28
| | | | | | | | | * guix/scripts/substitute.scm (fetch-narinfos) [handle-narinfo-response]: Add code 202 to the condition. This will allow in the future the use of 404 for nar requests which cannot be built in the present, leaving for the 202 to indicate that a request has triggered a nar generation that might be completed later, as specified in <https://www.ietf.org/rfc/rfc2616.txt>.
* publish: Add '--cache-bypass-threshold'.Ludovic Courtès2020-10-28
| | | | | | | | | | | | | | | | | * guix/scripts/publish.scm (show-help, %options): Add '--cache-bypass-threshold'. (low-compression): New procedure. (cache-bypass-threshold): New parameter. (bypass-cache?): New procedure. (render-narinfo/cached): Call 'render-narinfo' when 'bypass-cache?' returns true. (render-nar/cached): Call 'render-nar' when 'bypass-cache?' returns true. (guix-publish): Parameterize 'cache-bypass-threshold'. * tests/publish.scm ("with cache", "with cache, lzip + gzip") ("with cache, uncompressed"): Pass '--cache-bypass-threshold=0'. ("with cache, vanishing item"): Expect 200 for RESPONSE. ("with cache, cache bypass"): New test.
* publish: Provide server's signing key.Amar Singh2020-10-27
| | | | | | | | * guix/scripts/publish.scm (render-signing-key): New procedure. (render-home-page): Add link to it. (make-request-handler): Handle it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* build/maven-build-system: Return #t in fix-pom-files phase.Björn Höfling2020-10-26
| | | | * guix/build/maven-build-system.scm (fix-pom-files): Return #t.
* offload: Adjust default 'max-silent-time' value of 'open-ssh-session'.Ludovic Courtès2020-10-25
| | | | | | * guix/scripts/offload.scm (open-ssh-session): Have 'max-silent-time' default to #f rather than -1, which is not a valid timeout value. Adjust body accordingly.
* offload: Export <build-machine> accessors.Ludovic Courtès2020-10-25
| | | | * guix/scripts/offload.scm: Export 'build-machine' accessors.
* git: Support HTTP and HTTPS proxies.Ludovic Courtès2020-10-22
| | | | | | This allows 'guix pull' and similar to fetch code over a proxy. * guix/git.scm (make-default-fetch-options): Pass #:proxy-url.
* git: Display a progress bar while fetching a repo.Ludovic Courtès2020-10-22
| | | | | | | | | | | | Fixes <https://bugs.gnu.org/39260>. This uses the API of the yet-to-be-released Guile-Git 0.4.0. Using an older version is still possible, but progress report is disabled. * guix/git.scm (show-progress, make-default-fetch-options): New procedures. (clone*, update-cached-checkout): Use it instead of 'make-fetch-options'.
* git: Require Guile-Git 0.3.0 or later.Ludovic Courtès2020-10-22
| | | | | | | | | | | | | | | * guix/git.scm (auth-supported?): Remove. (clone*): Inline code that was dependent on AUTH-SUPPORTED?. (update-cached-checkout): Likewise. (resolve-reference): Remove check for 'object-lookup-prefix' and use it unconditionally. (load-git-submodules): Remove. (update-submodules): Use 'repository-submodules', 'submodule-lookup', etc. unconditionally. (update-cached-checkout): Use 'repository-close!' unconditionally. * m4/guix.m4 (GUIX_CHECK_GUILE_GIT): New macro. * configure.ac: Use it and error out when it fails. * doc/guix.texi (Requirements): Bump to Guile-Git 0.3.0.
* graph: Don't insist on "Helvetica" in the Graphviz backend.Ludovic Courtès2020-10-22
| | | | | | Suggested by Fulbert <fulbert@bluewin.ch>. * guix/graph.scm (emit-node): Use "sans" instead of "Helvetica".
* guix build: Move package transformation options behind '--help-transform'.Ludovic Courtès2020-10-20
| | | | | | | | | | | | | | | | | This change declutters the '--help' output. * guix/scripts/build.scm (show-build-options-help) (%standard-build-options): Add '--help-transform'. (show-transformation-options-help): Make private. (show-help): Remove call to 'show-transformation-options-help'. * guix/scripts/build.scm (show-help): Likewise. * guix/scripts/environment.scm (show-help): Likewise. * guix/scripts/graph.scm (show-help): Likewise. * guix/scripts/install.scm (show-help): Likewise. * guix/scripts/pack.scm (show-help): Likewise. * guix/scripts/package.scm (show-help): Likewise. * guix/scripts/upgrade.scm (show-help): Likewise. * doc/guix.texi (Package Transformation Options): Mention '--help-transform'.
* guix build: Add '--with-debug-info'.Ludovic Courtès2020-10-20
| | | | | | | | | | | | | | | * guix/scripts/build.scm (transform-package-with-debug-info): New procedure. (%transformations): Add 'with-debug-info'. (%transformation-options, show-transformation-options-help): Add '--with-debug-info'. * tests/scripts-build.scm ("options->transformation, with-debug-info"): New test. * doc/guix.texi (Package Transformation Options): Document '--with-debug-info'. (Installing Debugging Files): Introduce sections. Remove bit about eventual "opt-out" since this is not happening. Document '--with-debug-info' under "Rebuilding with Debugging Info".
* tests: Do not fetch and print the random seed from the top level.Ludovic Courtès2020-10-20
| | | | | * guix/tests.scm (%seed): Turn into a memoizing procedure. (random-text, random-bytevector): Adjust accordingly.
* graph: Fix typo in docstring.Ludovic Courtès2020-10-20
| | | | * guix/graph.scm (shortest-path): Fix typo in docstring.
* packages: Better preserve object identity when rewriting.Ludovic Courtès2020-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | Fixes a bug whereby the presence of propagated inputs could lead to two non-eq? but actually equal packages in a bag's inputs. The problem would manifest itself when running, for instance: guix build inkscape -d --with-graft=glib=glib-networking --no-grafts The resulting derivation would differ due from that without '--with-graft'. This was due to the fact that glib propagates libffi; this instance of libffi was not rewritten even though other instances in the graph were rewritten. Thus, glib would end up with two non-eq? libffi instances, which in turn would lead to duplicate entries in its '%build-inputs' variable. Fixes <https://bugs.gnu.org/43890>. * guix/packages.scm (package-mapping)[rewrite]: Remove call to 'cut?' and call 'replace' unconditionally. [replace]: Add 'cut?' case. * tests/guix-build.sh: Add test combining '--no-grafts' and '--with-graft'. * tests/packages.scm ("package-input-rewriting/spec, identity") ("package-input-rewriting, identity"): New tests.
* download: Update docstring.Ludovic Courtès2020-10-20
| | | | | * guix/download.scm (url-fetch): Update docstring to match what's in the manual.
* 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>