summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
...
* build/cargo-build-system: Use bundled json instead of guile-json.Robert Vollmert2019-07-16
| | | | | | | | | * guix/build/cargo-build-system.scm: Use (gnu build json) instead of (json parser). * guix/build-system/cargo.scm: Import (gnu build json) instead of (json parser). Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* build/cargo-build-system: Set CARGO_HOME early.Robert Vollmert2019-07-16
| | | | | | | * guix/build/cargo-build-system.scm (configure): Set CARGO_HOME. (install): No longer set CARGO_HOME. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* lint: Separate checkers by dependence on the internet.Christopher Baines2019-07-15
| | | | | | | | | | | | | | | | | | | | I think there are a couple of potential uses for this. It's somewhat a separation in to what checkers are just checking the contents of the repository (line length for example), and other checkers which are bringing in external information which could change. I'm thinking particularly, about treating network dependent checkers differently when automatically running them, but this commit also adds a --no-network flag to guix lint, which selects the checkers that don't access the network, which could be useful if no network access is available. * guix/lint.scm (%checkers): Rename to %all-checkers. (%local-checkers, %network-dependent-checkers): New variables. * guix/scripts/lint.scm (run-checkers): Make the checkers argument mandatory. (list-checkers-and-exit): Handle the checkers as an argument. (%options): Adjust for changes to %checkers, add a --no-network option, and change how the --list-checkers option is handled. (guix-lint): Adjust indentation, and update how the checkers are handled.
* lint: Move the linting code to a different module.Christopher Baines2019-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To try and move towards making programatic access to the linting code easier, this commit separates out the linting script, from the linting functionality that it uses. * guix/scripts/lint.scm (emit-warnings): Alter to to not use match-lambda, as <lint-warning> isn't accessible. (<lint-warning>, lint-warning, make-lint-warning, lint-warning?, lint-warning-message, lint-warning-message-text, lint-warning-message-data, lint-warning-location, package-file, %make-warning make-warning, <lint-checker>, lint-checker, make-lint-checker, lint-checker?, lint-checker-name, lint-checker-description, lint-checker-check, properly-starts-sentance?, starts-with-abbreviation?, %quoted-identifier-rx, check-description-style, package-input-intersection, check-inputs-should-be-native, check-inputs-should-not-be-an-input-at-all, package-name-regexp, check-synopsis-style, probe-uri, tls-certificate-error-string, validate-uri, check-home-page, %distro-directory, check-patch-file-names, escape-quotes, official-gnu-packages*, check-gnu-synopsis+description, origin-uris, check-source, check-source-file-name, check-source-unstable-tarball, check-mirror-url, check-github-url, check-derivation, check-license, call-with-networking-fail-safe, with-networking-fail-safe, current-vulnerabilities*, package-vulnerabilities, check-vulnerabilities, check-for-updates, report-tabulations, report-trailing-white-space, report-long-line, %hanging-paren-rx, report-lone-parantheses, %formatting-reporters, report-formatting-issues, check-formatting, %checkers): Move to… * guix/lint.scm: … here * po/guix/POTFILES.in: Add guix/lint.scm. * Makefile.am: Add guix/lint.scm. * tests/lint.scm: Change to import (guix lint), rather than (guix scripts lint).
* scripts: lint: Separate the message warning text and data.Christopher Baines2019-07-15
| | | | | | | | | | | | | | | | | | | | | | So that translations can be handled more flexibly, rather than having to translate the message text within the checker. * guix/scripts/lint.scm (lint-warning-message-text, lint-warning-message-data): New procedures. (lint-warning-message): Remove record field accessor, replace with procedure that handles the lint warning data and translating the message. (make-warning): Rename to %make-warning. (make-warning): New macro. (emit-warnings): Handle the message-text and message-data fields. (check-description-style): Adjust for changes to make-warning. [check-trademarks, check-end-of-sentence-space): Adjust for changes to make-warning. (check-inputs-should-be-native, check-inputs-should-not-be-an-input-at-all, check-synopsis-style, validate-uri, check-home-page, check-patch-file-names, check-gnu-synopsis+description, check-mirror-url, check-github-url, check-derivation, check-vulnerabilities, check-for-updates, report-tabulations, report-trailing-white-space, report-long-line, report-lone-parentheses): Adjust for changes to make-warning.
* scripts: lint: Handle warnings with a record type.Christopher Baines2019-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than emiting warnings directly to a port, have the checkers return the warning or warnings. This makes it easier to use the warnings in different ways, for example, loading the data in to a database, as you can work with the <lint-warning> records directly, rather than having to parse the output to determine the package and location. * guix/scripts/lint.scm (<lint-warning>): New record type. (lint-warning): New macro. (lint-warning?, lint-warning-package, lint-warning-message, lint-warning-location, package-file, make-warning): New procedures. (call-with-accumulated-warnings, with-accumulated-warnings): Remove. (emit-warning): Rename to emit-warnings, and switch to displaying multiple warnings. (check-description-style)[check-not-empty-description, check-texinfo-markup, check-trademarks, check-quotes, check-proper-start, check-end-of-sentence-space]: Switch to generating a list of warnings, and using make-warning, rather than emit-warning. (check-inputs-should-be-native, check-inputs-should-not-be-an-input-at-all): Switch to generating a list of warnings, and using make-warning, rather than emit-warning. (check-synopsis): Switch to generating a list of warnings, and using make-warning, rather than emit-warning. [check-not-empty]: Remove, this is handled in the match clause to avoid other warnings being emitted. [check-final-period, check-start-article, check-synopsis-length, check-proper-start, check-start-with-package-name, check-texinfo-markup]: Switch to generating a list of warnings, and using make-warning, rather than emit-warning. [checks]: Remove check-not-empty. (validate-uri, check-home-page, check-patch-file-names, check-gnu-synopsis+description): Switch to generating a list of warnings, and using make-warning, rather than emit-warning. (check-source): Switch to generating a list of warnings, and using make-warning, rather than emit-warning. [try-uris]: Remove. [warnings-for-uris]: New procedure, replacing try-uris. (check-source-file-name, check-source-unstable-tarball, check-mirror-url, check-github-url, check-derivation, check-vulnerabilities, check-for-updates, report-tabulations, report-trailing-white-space, report-long-line, report-lone-parentheses, report-formatting-issues, check-formatting): Switch to generating a list of warnings, and using make-warning, rather than emit-warning. (run-checkers): Call emit-warnings on the warnings returned from the checker. * tests/lint.scm (string-match-or-error, single-lint-warning-message): New procedures. (call-with-warnings, with-warnings): Remove. ("description: not a string", "description: not empty", "description: invalid Texinfo markup", "description: does not start with an upper-case letter", "description: may start with a digit", "description: may start with lower-case package name", "description: two spaces after end of sentence", "description: end-of-sentence detection with abbreviations", "description: may not contain trademark signs: ™", "description: may not contain trademark signs: ®", "description: suggest ornament instead of quotes", "synopsis: not a string", "synopsis: not empty", "synopsis: valid Texinfo markup", "synopsis: does not start with an upper-case letter", "synopsis: may start with a digit", "synopsis: ends with a period", "synopsis: ends with 'etc.'", "synopsis: starts with 'A'", "synopsis: starts with 'a'", "synopsis: starts with 'an'", "synopsis: too long", "synopsis: start with package name", "synopsis: start with package name prefix", "synopsis: start with abbreviation", "inputs: pkg-config is probably a native input", "inputs: glib:bin is probably a native input", "inputs: python-setuptools should not be an input at all (input)", "inputs: python-setuptools should not be an input at all (native-input)", "inputs: python-setuptools should not be an input at all (propagated-input)", "patches: file names", "patches: file name too long", "patches: not found", "derivation: invalid arguments", "license: invalid license", "home-page: wrong home-page", "home-page: invalid URI", "home-page: host not found", "home-page: Connection refused", "home-page: 200", "home-page: 200 but short length", "home-page: 404", "home-page: 301, invalid", "home-page: 301 -> 200", "home-page: 301 -> 404", "source-file-name", "source-file-name: v prefix", "source-file-name: bad checkout", "source-file-name: good checkout", "source-file-name: valid", "source-unstable-tarball", "source-unstable-tarball: source #f", "source-unstable-tarball: valid", "source-unstable-tarball: package named archive", "source-unstable-tarball: not-github", "source-unstable-tarball: git-fetch", "source: 200", "source: 200 but short length", "source: 404", "source: 301 -> 200", "source: 301 -> 404", "mirror-url", "mirror-url: one suggestion", "github-url", "github-url: one suggestion", "github-url: already the correct github url", "cve", "cve: one vulnerability", "cve: one patched vulnerability", "cve: known safe from vulnerability", "cve: vulnerability fixed in replacement version", "cve: patched vulnerability in replacement", "formatting: lonely parentheses", "formatting: alright"): Change test-assert to test-equal, and adjust to work with the changes above. ("formatting: tabulation", "formatting: trailing white space", "formatting: long line"): Use string-match-or-error rather than string-contains.
* remote: Make sure the user doesn't mess up with the REPL protocol.Ludovic Courtès2019-07-15
| | | | | | | Reported by zerodaysfordays@sdf.lonestar.org (Jakob L. Kreuze). * guix/remote.scm (trampoline): Wrap 'primitive-load' in 'with-output-to-port'.
* remote: Fix type error in the list of store items to send.Ludovic Courtès2019-07-15
| | | | | | | Fixes a regression introduced in 386857748097619b3b75a7bf93677b6aa742d03c. * guix/remote.scm (remote-eval): Use 'append-map', not 'map', for 'derivation-input-output-paths'.
* channels: Avoid use of 'derivation-input-path'.Ludovic Courtès2019-07-15
| | | | | * guix/channels.scm (old-style-guix?): Use 'derivation-name' rather than 'derivation-input-path'.
* gexp: 'lowered-gexp-guile' now returns a <derivation-input>.Ludovic Courtès2019-07-15
| | | | | | | | | * guix/derivations.scm (derivation-input-output-path): New procedure. * guix/gexp.scm (lower-gexp): Wrap GUILE in a <derivation-input>. (gexp->derivation): Adjust accordingly. * guix/remote.scm (remote-pipe-for-gexp, remote-eval): Adjust accordingly. * tests/gexp.scm ("lower-gexp"): Adjust accordingly.
* derivations: Deprecate the previous calling convention.Ludovic Courtès2019-07-15
| | | | | | | | | | | | We will eventually require #:inputs to be a list of <derivation-input>; store items will have to be passed as #:sources, already interned. * guix/derivations.scm (warn-about-derivation-deprecation): New procedure. (derivation): Add #:%deprecation-warning? parameter. [warn-deprecation]: New macro. [input->derivation-input, input->source]: Use it. (build-expression->derivation): Pass #:%deprecation-warning?. * po/guix/POTFILES.in: Add guix/derivations.scm.
* derivations: 'map-derivation' uses the new 'derivation' calling convention.Ludovic Courtès2019-07-15
| | | | | | | * guix/derivations.scm (map-derivation)[input->output-paths]: Adjust to deal with an argument that's either 'derivation-input?' or a string. [rewritten-input]: Return a <derivation-input> or a string. Pass #:inputs and #:sources to 'derivation'.
* download: Use the new 'derivation' calling convention.Ludovic Courtès2019-07-15
| | | | | * guix/download.scm (built-in-download): Pass MIRRORS and CONTENT-ADDRESSED-MIRRORS as #:sources, not #:inputs.
* gexp: <lowered-gexp> separates sources from derivation inputs.Ludovic Courtès2019-07-15
| | | | | | | | | | | | | | | | | * guix/gexp.scm (lower-inputs): Return either <derivation-input> records or store items. (lower-reference-graphs): Return file/input pairs. (<lowered-gexp>)[sources]: New field. (lower-gexp): Adjust accordingly. (gexp->input-tuple): Remove. (gexp->derivation)[graphs-file-names]: Handle only the 'derivation-input?' and 'string?' cases. Pass #:sources to 'raw-derivation'; ensure #:inputs contains only <derivation-input> records. * guix/remote.scm (remote-eval): Adjust to the new <lowered-gexp> interface. * tests/gexp.scm ("lower-gexp"): Adjust to expect <derivation-input> records instead of <gexp-input>
* derivations: 'derivation' primitive accepts <derivation> and #:sources.Ludovic Courtès2019-07-15
| | | | | | | | This brings us closer to the <derivation> data type. * guix/derivations.scm (derivation): Add #:sources parameter. [input->derivation-input]: Add clause for 'derivation-input?'. Honor SOURCES.
* syscalls: Use 'define-as-needed' for 'AT_' constants introduced in Guile 2.2.5.Ludovic Courtès2019-07-15
| | | | | | * guix/build/syscalls.scm (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR) (AT_SYMLINK_FOLLOW, AT_NO_AUTOMOUNT, AT_EMPTY_PATH): Define using 'define-as-needed'.
* compile: Report the name of the file that cannot be compiled.Ludovic Courtès2019-07-15
| | | | | | | | | | Fixes <https://bugs.gnu.org/36640>. Reported by Robert Vollmert <rob@vllmrt.net>. * guix/build/compile.scm (call/exit-on-exception): Add 'file' parameter and honor it. (exit-on-exception): Likewise. (compile-files): Pass FILE to 'exit-on-exception'.
* Revert "guix: node-build-system: Use guile-json instead of a custom parser."Julien Lepiller2019-07-14
| | | | | | | | | The effect of this change was to import the (json parser) from the host side into the build side. The solution here would be to do the equivalent of ‘with-extensions’ for gexps. Since we don't use gexps for build systems just yet, revert this for now. This reverts commit 8eb0ba532ebbebef23180e666e0607ea735f9c1a.
* guix: node-build-system: Use guile-json instead of a custom parser.Julien Lepiller2019-07-14
| | | | | | | * guix/build/json.scm: Remove file. * Makefile.am: Remove it. * guix/build/node-build-system.scm: Use (json parser) instead of (guix build json). * guix/build-system/node.scm: Idem.
* build: Add node-build-system.Jelle Licht2019-07-14
| | | | | | | | | | * guix/build/node-build-system.scm: New file. * guix/build-system/node.scm: New file. * guix/build/json.scm: New file. * doc/guix.texi: Document it. * Makefile.am: Added new files. Co-Authored-By: Julien Lepiller <julien@lepiller.eu>
* channels: Add optional directory to channel metadata.Jan Nieuwenhuizen2019-07-14
| | | | | | | * guix/channels.scm (<channel-metadata>): Add directory slot. Update users. (read-channel-metadata-from-source): New function. (standard-module-derivation): Use it. * doc/guix.texi (Package Modules in a Subdirectory): New subsection.
* build: Use '-Wshadowed-toplevel' only when supported.Ludovic Courtès2019-07-12
| | | | | | | * guix/build/compile.scm (supported-warning-type?): New procedure. (%warnings): Remove 'unsupported-warning', though removing it doesn't make any difference. Define 'optional', and use it to determine whether to include 'shadowed-toplevel'.
* guix gc: Correctly handle '--delete-generations' with no arguments.Ludovic Courtès2019-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, 'guix gc --delete-generations' would crash: the "" pattern would be passed to 'matching-generations', which would return #f instead of returning a list. Reported by Raghav Gururajan <rvgn@disroot.org> in <https://bugs.gnu.org/36466>. * guix/ui.scm (matching-generations): Raise an error when passed an invalid pattern. * guix/scripts/gc.scm (delete-old-generations): Check if PATTERN is true. (%options): Leave ARG as-is for 'delete-generations'. (guix-gc): Use 'assq' instead of 'assoc-ref' for 'delete-generations'. * guix/scripts/package.scm (delete-matching-generations): Replace (string-null? pattern) with (not pattern). Remove 'else' clause. (%options): Leave ARG as-is for 'delete-generations'. * guix/scripts/pull.scm (%options): Leave ARG as-is for 'list-generations'. (process-query): Replace (string-null? pattern) with (not pattern). * guix/scripts/system.scm (list-generations): Likewise, and remove 'else' clause. (process-command): Use #f instead of "" when no pattern is given.
* discovery: Handle edge case in scheme-files when looking at symlinks.Christopher Baines2019-07-08
| | | | | | | | | | Previously, this code would cause crashes in Guix (running guix package -s for example) which could be experienced when Emacs creates temporary files in the gnu/packages/patches directory when a patch file has been edited, but not saved. * guix/discovery.scm (scheme-files): Add else clause to cond used when handling symlinks.
* scripts: environment: Add --no-cwd.Carl Dong2019-07-08
| | | | | | | | | | | | | * doc/guix.texi (Invoking guix environment): Add --no-cwd. * guix/scripts/environment.scm (show-help, %options): Add --no-cwd. (launch-environment/container): Add 'map-cwd?' param; only add mapping for cwd if #t. Only change to cwd within container if #t, otherwise home. (guix-environment): Error if --no-cwd without --container. Provide '(not no-cwd?)' to launch-environment/container as 'map-cwd?'. * tests/guix-environment.sh: Add test for no-cwd. Co-authored-by: Mike Gerwitz <mtg@gnu.org>
* scripts: environment: Only rewrite user-specified mappings.Carl Dong2019-07-08
| | | | | | * guix/scripts/environment.scm (launch-environment/container): Only apply override-user-mappings to user-mappings and cwd. Do not apply to network configuration mapping and inputs.
* channels: Key cached channel derivations by system.Ludovic Courtès2019-07-08
| | | | | | | | | | | | Previously, the channel instance to derivation mapping would be independent of the system. Thus, building the same channel instance for several different systems would always return the derivation that was first computed. This is a followup to c3ab921eed2a471022e9863a94ea521508782e53. * guix/channels.scm (channel-instance-derivations)[instance->derivation]: Pass the current system as a third argument to 'mcached'.
* self: Ship the (gnu machine …) modules.Mark H Weaver2019-07-06
| | | | | | | This is a followup to commit fa9edf09e992db7510c7471486dffc93e1e707e5. * guix/self.scm (compiled-guix)[*system-modules*]: Explicitly add all of gnu/machine/*.
* channels: Simplify 'channel-instances->manifest'.Ludovic Courtès2019-07-06
| | | | | | | * guix/channels.scm (channel-instances->manifest)[instance->entry]: Change to take two arguments instead of a tuple. Turn into a non-monadic procedure. Call it via 'map' instead of 'mapm'.
* Add 'guix deploy'.Jakob L. Kreuze2019-07-06
| | | | | * guix/scripts/deploy.scm: New file. * Makefile.am (MODULES): Add it.
* ssh: Add 'identity' keyword to 'open-ssh-session'.Jakob L. Kreuze2019-07-06
| | | | * guix/ssh.scm (open-ssh-session): Add 'identity' keyword argument.
* store: 'run-with-store' gracefully deals with #f store.Ludovic Courtès2019-07-05
| | | | | | | | | | This is a followup to dd0ee954c4fa965023fd887452927c02edb8b52f, which introduced a failure in tests/graph.scm. * guix/store.scm (run-with-store): Check whether STORE and NEW-STORE are true before calling 'store-connection-object-cache' etc. Fixes a failure in tests/graph.scm related to %REVERSE-PACKAGE-NODE-TYPE, which uses #f as the store.
* derivations: Simplify 'substitution-oracle'.Ludovic Courtès2019-07-05
| | | | | | | | | * guix/derivations.scm (substitution-oracle)[valid?, dependencies]: Remove. [closure]: New procedure. Rename parameter from 'drv' to 'inputs-or-drv' and adjust accordingly. (derivation-build-plan): Pass INPUTS directly to 'substitution-oracle'. * guix/ui.scm (show-what-to-build)[substitutable-info]: Likewise.
* derivations: 'derivation-build-plan' recurses on substituables.Ludovic Courtès2019-07-05
| | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug whereby "guix build texlive -n" would report: 0.0 MB would be downloaded: /gnu/store/…-texlive-20180414 instead of: The following derivation would be built: /gnu/store/…-texlive-texmf-20180414.drv 2,595.2 MB would be downloaded: /gnu/store/…-texlive-20180414-texmf.tar.xz /gnu/store/…-texlive-20180414 where 'texlive-texmf' is a non-substitutable dependency of 'texlive'. * guix/derivations.scm (dependencies-of-substitutables): New procedure. (derivation-build-plan): When 'input-substitutable-info' returns true, append the subset of DEPS that corresponds to SUBSTITUABLES to the first argument of 'loop'. * guix/ui.scm (show-what-to-build): Remove half-baked traversal of DOWNLOAD. * tests/derivations.scm ("derivation-build-plan and substitutes, non-substitutable dep"): New test.
* pack: 'squashfs' backend records the profile's search paths.Ludovic Courtès2019-07-04
| | | | | | | | | * guix/scripts/pack.scm (singularity-environment-file): New procedure. (squashfs-image): Use it, and create /.singularity/env/90-environment.sh. * gnu/tests/singularity.scm (run-singularity-test)["singularity run, with environment"]: New test, currently skipped. * gnu/tests/singularity.scm (build-tarball&run-singularity-test): Add GUILE-JSON to the profile.
* pack: 'docker' backend records the profile's search paths.Ludovic Courtès2019-07-04
| | | | | | | | | | | | * guix/docker.scm (config): Add #:environment parameter and honor it. (build-docker-image): Likewise, and pass it to 'config'. * guix/scripts/pack.scm (docker-image): Import (guix profiles) and (guix search-paths). Call 'profile-search-paths' and pass #:environment to 'build-docker-image'. * gnu/tests/docker.scm (run-docker-test)["Load docker image and run it"]: Add example that expects (json) to be available. * gnu/tests/docker.scm (build-tarball&run-docker-test): Replace %BOOTSTRAP-GUILE by GUILE-2.2 and GUILE-JSON in the environment.
* Add (guix remote).Ludovic Courtès2019-07-04
| | | | | * guix/remote.scm: New file. * Makefile.am (MODULES): Add it.
* inferior: Add 'read-repl-response'.Ludovic Courtès2019-07-04
| | | | | * guix/inferior.scm (read-repl-response): New procedure. (read-inferior-response): Use it.
* Add (guix repl).Ludovic Courtès2019-07-04
| | | | | | | * guix/scripts/repl.scm: Use (guix repl). (self-quoting?, machine-repl): Remove. * guix/repl.scm: New file. * Makefile.am (MODULES): Add it.
* gexp: Add 'lower-gexp' and express 'gexp->derivation' in terms of it.Ludovic Courtès2019-07-04
| | | | | | | | | | | | | | | * guix/gexp.scm (gexp-input-thing, gexp-input-output) (gexp-input-native?): Export. (lower-inputs): Return <gexp-input> records instead of tuples. (lower-reference-graphs): Adjust accordingly. (<lowered-gexp>): New record type. (lower-gexp, gexp-input->tuple): New procedure. (gexp->derivation)[%modules]: Remove. [requested-graft?]: New variable. [add-modules]: New procedure. Rewrite in terms of 'lower-gexp'. (gexp-inputs): Add TODO comment. * tests/gexp.scm ("lower-gexp"): New test.
* store: 'run-with-store' preserves the functional object cache.Ludovic Courtès2019-07-03
| | | | | | | | | This increases the hit rate of the object cache from 56% to 85% when running something like 'guix build libreoffice -nd'. * guix/store.scm (set-store-connection-object-cache!): New procedure. (run-with-store): Copy 'object-cache' field of the new store into the original one.
* derivations: 'substitution-oracle' no longer calls 'read-derivation-from-file'.Ludovic Courtès2019-07-03
| | | | | | | | This is a followup to 5cf4b26d52bcea382d98fb4becce89be9ee37b55. * guix/derivations.scm (substitution-oracle): Use 'derivation-input-derivation' instead of calling 'read-derivation-from-file'.
* derivations: Avoid another call to 'read-derivation-from-file'.Ludovic Courtès2019-07-03
| | | | | | | | | | This is a followup to 5cf4b26d52bcea382d98fb4becce89be9ee37b55. * guix/derivations.scm (derivation-path->base16-hash): Rename to... (derivation-base16-hash): ... this, and take a <derivation> rather than a file name. Use 'mlambdaq' instead of 'mlambda'. (derivation/masked-inputs): Adjust accordingly. (invalidate-derivation-caches!): Likewise.
* derivations: 'map-derivation' no longer calls 'read-derivation-from-file'.Ludovic Courtès2019-07-03
| | | | | | | This is a followup to 5cf4b26d52bcea382d98fb4becce89be9ee37b55. * guix/derivations.scm (map-derivation)[rewritten-input]: Avoid call to 'read-derivation-from-file'.
* derivations: Work around pathological memoization behavior.Ludovic Courtès2019-07-03
| | | | | | | This works around <https://bugs.gnu.org/36487>. * guix/derivations.scm (invalidate-derivation-caches!): Comment out 'hash-clear!' call.
* profiles: Adjust packages->manifest pattern for inferior packages.Kyle Meyer2019-07-03
| | | | | | | | * guix/profiles.scm (packages->manifest): Add package? predicate to `(package output)' pattern to avoid incorrectly matching `(inferior-package output)', which should be handled by a later clause. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* grafts: 'references-oracle' now takes a derivation input.Ludovic Courtès2019-07-02
| | | | | | | | | | That way, if we end up calling 'build-derivations', we'll only build the outputs that we really need. * guix/grafts.scm (references-oracle): Rename 'drv' to 'input'. [output-paths]: Remove. Adjust accordingly. (graft-derivation): Adjust call to 'references-oracle'.
* derivations: Update 'build-derivations' docstring.Ludovic Courtès2019-07-02
| | | | | | This is a followup to 7c690a47381f645ec5ec0a1fd6ffc34dba1b69c2. * guix/derivations.scm (build-derivations): Update docstring.
* import: pypi: Preserve package name case when forming pypi-uri.Maxim Cournoyer2019-07-02
| | | | | | | | | Fixes <https://bugs.gnu.org/33046>. * guix/build-system/python.scm (pypi-uri): Update the host URI to "files.pythonhosted.org". * guix/import/pypi.scm (make-pypi-sexp): Preserve the package name case when the source URL calls for it.
* import: pypi: Update the host URI.Maxim Cournoyer2019-07-02
| | | | | * guix/build-system/python.scm (pypi-uri): Update the host URI to "files.pythonhosted.org".