summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2020-11-05pack: Do not include the host (guix config).Ludovic Courtès
* guix/scripts/pack.scm (store-database)[build]: Import a synthetic (guix config).
2020-11-05gexp: Warn when importing (guix config) or (ice-9 …).Ludovic Courtès
While importing those modules from the host system is valid, it is often a mistake that introduces non-reproducibility. This patch prints a warning when that happens. * guix/gexp.scm (gexp-attribute): Add #:validate parameter and honor it. (gexp-modules)[validate-modules]: New procedure. Pass it to 'gexp-attribute'. * tests/gexp.scm ("gexp-modules, warning"): New test.
2020-11-05gexp: Store the source code location in <gexp>.Ludovic Courtès
* guix/gexp.scm (<gexp>)[location]: New field. (gexp-location): New procedure. (write-gexp): Print the location of GEXP. (gexp->derivation): Adjust call to 'make-gexp'. (gexp): Likewise.
2020-11-04publish: Do not path the empty string to 'query-path-info'.Ludovic Courtès
Fixes <https://bugs.gnu.org/44442>. Regression introduced in 2b2ab7796ac186d88060793b8873fc0e21462758. * guix/scripts/publish.scm (render-nar/cached): Do not call 'bypass-cache?' when ITEM is the empty string. * tests/publish.scm ("with cache, cache bypass, unmapped hash part"): New test.
2020-11-03guix import stackage: Default to LTS version that matches GHC.Robert Vollmert
In particular, this means that 'guix lint' won't warn to update to versions that won't necessarily fit our package set well. * guix/import/stackage.scm (%stackage-url): Change to "https", avoiding redirect log messages. (%default-lts-version): New variable. (stackage-lts-info-fetch, stackage->guix-package, latest-lts-release): Use it. (lts-info-ghc-version): Remove unused procedure. Signed-off-by: Timothy Sample <samplet@ngyro.com>
2020-11-03system: reconfigure: Use the disk-installer if provided.Mathieu Othacehe
Fixes: <https://issues.guix.gnu.org/44101>. * gnu/build/bootloader.scm (write-file-on-device): Pass 'no-fail flag instead of 'no-create. Use a latin-1 transcoder. * guix/scripts/system/reconfigure.scm (install-bootloader-program): Add a "disk-installer" argument and use it as a fallback. (install-bootloader): Adapt accordingly. * gnu/tests/reconfigure.scm (run-install-bootloader-test): Ditto.
2020-11-02profiles: Add fast path for 'xdg-mime-database' hook.Ludovic Courtès
Partly fixes <https://bugs.gnu.org/44053>. Reported by Joshua Branson <jbranso@dismail.de> and Maxim Cournoyer <maxim.cournoyer@gmail.com>. * guix/profiles.scm (xdg-mime-database): When PKGDIRS contains only one element, symlink directly to it. Invoke 'update-mime-database' only when PKGDIRS contains two or more elements, which is less frequent.
2020-11-01system: Add store-directory-prefix to boot-parameters.Miguel Ángel Arruga Vivas
Fixes <http://issues.guix.gnu.org/44196> * gnu/machine/ssh.scm (roll-back-managed-host): Use boot-parameters-store-directory-prefix. * gnu/system.scm (define-module): Export boot-parameters-store-directory-prefix. (<boot-parameters>)[store-directory-prefix]: New field. It is used to generate the correct paths when /gnu/store is installed on a btrfs subvolume whose name doesn't match the final runtime path, as the bootloader doesn't have knowledge about the final mounting points. [boot-parameters-store-directory-prefix]: New accessor. (read-boot-parameters): Read directory-prefix from store field. (operating-system-boot-parameters-file): Add directory-prefix to store field. * guix/scripts/system.scm (reinstall-bootloader): Use boot-parameters-store-directory-prefix. * test/boot-parameters.scm (%default-btrfs-subvolume, %default-store-directory-prefix): New variables. (%grub-boot-parameters): Use %default-store-directory-prefix. (%default-operating-system): Use %default-btrfs-subvolume. (test-boot-parameters): Add directory-prefix. (test optional fields): Add test for directory-prefix. (test os store-directory-prefix): New test.
2020-10-31transformations: Raise '&formatted-message' exceptions instead of 'leave'.Ludovic Courtès
* guix/transformations.scm (evaluate-replacement-specs) (package-git-url, evaluate-git-replacement-specs) (transform-package-source-git-url) (transform-package-toolchain): Use 'raise' and 'formatted-message' instead of 'leave'.
2020-10-31guix build: Move transformation options to (guix transformations).Ludovic Courtès
* guix/transformations.scm: New file. * tests/scripts-build.scm: Rename to... * tests/transformations.scm: ... this. * Makefile.am (MODULES): Add 'guix/transformations.scm'. (SCM_TESTS): Adjust to rename. * guix/scripts/build.scm (numeric-extension?) (tarball-base-name, <downloaded-file>, download-to-store*) (compile-downloaded-file, package-with-source) (transform-package-source, evaluate-replacement-specs) (transform-package-inputs, transform-package-inputs/graft) (%not-equal, package-git-url, evaluate-git-replacement-specs) (transform-package-source-branch, transform-package-source-commit) (transform-package-source-git-url, package-dependents/spec) (package-toolchain-rewriting, transform-package-toolchain) (transform-package-with-debug-info, transform-package-tests) (%transformations, transformation-procedure, %transformation-options) (show-transformation-options-help, options->transformation) (package-transformations): Move to (guix transformations). * guix/scripts/environment.scm: Adjust accordingly. * guix/scripts/graph.scm: Likewise. * guix/scripts/install.scm: Likewise. * guix/scripts/pack.scm: Likewise. * guix/scripts/package.scm: Likewise. * guix/scripts/upgrade.scm: Likewise. * po/guix/POTFILES.in: Add 'guix/transformations.scm'.
2020-10-31guix build: 'options->transformation' no longer takes a 'store' parameter.Ludovic Courtès
* 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.
2020-10-31guix build: Remove unnecessary (replacement #f).Ludovic Courtès
* guix/scripts/build.scm (package-with-source): Remove 'replacement' field, which is innate since d5ec5ed7197d121130af6953378bcfd8929a9754.
2020-10-31guix build: 'package-with-source' no longer takes a 'store' parameter.Ludovic Courtès
* 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.
2020-10-30guix: pack: Only wrap executable files.Eric Bavier
* 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.
2020-10-30guix: pack: Fix offset calculation for store directory mount point.Eric Bavier
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.
2020-10-30scripts: lint: Add '--exclude' option.zimoun
* 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>
2020-10-30scripts: lint: Fix '--no-network' option.zimoun
* 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>
2020-10-28build/maven: Fix typo.Vagrant Cascadian
* guix/build/maven/pom: Fix spelling of "with".
2020-10-28build/maven: fix-pom-dependencies: Fix typo.Vagrant Cascadian
* guix/build/maven/pom (fix-pom-dependencies): Fix spelling of "overrides".
2020-10-28build/maven: fix-pom-dependencies: Fix typo.Vagrant Cascadian
* guix/build/maven/pom (fix-pom-dependencies): Fix spelling of "overridden".
2020-10-28substitute: Do not discard ttl info when the response code is 202.Miguel Ángel Arruga Vivas
* 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>.
2020-10-28publish: Add '--cache-bypass-threshold'.Ludovic Courtès
* 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.
2020-10-27publish: Provide server's signing key.Amar Singh
* 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>
2020-10-26build/maven-build-system: Return #t in fix-pom-files phase.Björn Höfling
* guix/build/maven-build-system.scm (fix-pom-files): Return #t.
2020-10-25offload: Adjust default 'max-silent-time' value of 'open-ssh-session'.Ludovic Courtès
* 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.
2020-10-25offload: Export <build-machine> accessors.Ludovic Courtès
* guix/scripts/offload.scm: Export 'build-machine' accessors.
2020-10-22git: Support HTTP and HTTPS proxies.Ludovic Courtès
This allows 'guix pull' and similar to fetch code over a proxy. * guix/git.scm (make-default-fetch-options): Pass #:proxy-url.
2020-10-22git: Display a progress bar while fetching a repo.Ludovic Courtès
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'.
2020-10-22git: Require Guile-Git 0.3.0 or later.Ludovic Courtès
* 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.
2020-10-22graph: Don't insist on "Helvetica" in the Graphviz backend.Ludovic Courtès
Suggested by Fulbert <fulbert@bluewin.ch>. * guix/graph.scm (emit-node): Use "sans" instead of "Helvetica".
2020-10-20guix build: Move package transformation options behind '--help-transform'.Ludovic Courtès
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'.
2020-10-20guix build: Add '--with-debug-info'.Ludovic Courtès
* 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".
2020-10-20tests: Do not fetch and print the random seed from the top level.Ludovic Courtès
* guix/tests.scm (%seed): Turn into a memoizing procedure. (random-text, random-bytevector): Adjust accordingly.
2020-10-20graph: Fix typo in docstring.Ludovic Courtès
* guix/graph.scm (shortest-path): Fix typo in docstring.
2020-10-20packages: Better preserve object identity when rewriting.Ludovic Courtès
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.
2020-10-20download: Update docstring.Ludovic Courtès
* guix/download.scm (url-fetch): Update docstring to match what's in the manual.
2020-10-19import: crate: make-crate-sexp: Fix missing home-page handling.Christopher Baines
* guix/import/crate.scm (make-crate-sexp): Replace 'null rather than '() with the empty string for the home-page.
2020-10-19import: print: Fix deprecation warning for origin-sha256.Helio Machado
* 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>
2020-10-18system: Provide locale information to the bootloader.Miguel Ángel Arruga Vivas
* 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.
2020-10-18gexp: 'assume-valid-file-name' has files looked up under the CWD.Ludovic Courtès
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.
2020-10-17import: utils: Fix license name mismatches and define CUA-OPL-1.0.Helio Machado
* 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>
2020-10-16gexp: Add 'assume-valid-file-name' syntax for use with 'local-file'.Ludovic Courtès
* guix/gexp.scm (assume-valid-file-name): New variable. (local-file): Add clause with (assume-valid-file-name file).
2020-10-15ui: Only suggest modules that export the unbound variable identifier.Ludovic Courtès
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.
2020-10-15build-system/go: Install license files.Efraim Flashner
* guix/build/go-build-system.scm (install-license-files): New procedure. (%standard-phases): Replace inherited 'install-license-files phase.
2020-10-14openpgp: '&openpgp-unrecognized-packet-error' includes type tag.Ludovic Courtès
* guix/openpgp.scm (&openpgp-unrecognized-packet-error)[type]: New field. (get-data, parse-subpackets): Initialize 'type' field.
2020-10-13gnu: nmap: Update license.Marius Bakke
* 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.
2020-10-12guix build: Add '--with-c-toolchain'.Ludovic Courtès
* 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.
2020-10-12packages: Add 'package-with-c-toolchain'.Ludovic Courtès
* 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.
2020-10-12substitute: Reduce default narinfo negative TTL to 1h.Ludovic Courtès
* guix/scripts/substitute.scm (%narinfo-negative-ttl): Reduce to 1h.
2020-10-12upgrade: Mention '--do-not-upgrade' in '--help' output.Ludovic Courtès
* guix/scripts/upgrade.scm (show-help): Add '--do-not-upgrade'.