summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
...
| * guix package: "guix package -f FILE" ensures FILE returns a package.Ludovic Courtès2019-09-18
| | | | | | | | | | | | * guix/scripts/package.scm (options->installable): Add clause for 'install option with a non-package object. * tests/guix-package.sh: Add test.
* | Merge branch 'master' into core-updatesLudovic Courtès2019-09-17
|\|
| * Revert "build-system/r: Use %bioconductor-version."Efraim Flashner2019-09-16
| | | | | | | | | | | | This reverts commit 41ca406fa54e69f61c55b11ffe5cf465192a907c. This commit breaks 'guix pull', as reported by Hao Chen.
| * build-system/r: Use %bioconductor-version.Ricardo Wurmus2019-09-16
| | | | | | | | | | * guix/build-system/r.scm (bioconductor-uri): Use %bioconductor-version instead of hard-coding the version string.
| * import/cran: Export %bioconductor-version.Ricardo Wurmus2019-09-16
| | | | | | | | * guix/import/cran.scm (%bioconductor-version): Export it.
| * pack: Provide a meaningful "repository name" for Docker.Ludovic Courtès2019-09-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, images produced by 'guix pack -f docker' would always show up as "profile" in the output of 'docker images'. With this change, 'docker images' shows a name constructed from the packages found in the image--e.g., "bash-coreutils-grep-sed". * guix/docker.scm (canonicalize-repository-name): New procedure. (generate-tag): Remove. (manifest): Add optional 'tag' parameter and honor it. (repositories): Likewise. (build-docker-image): Add #:repository parameter and pass it to 'manifest' and 'repositories'. * guix/scripts/pack.scm (docker-image)[build]: Compute 'tag' and pass it as #:repository to 'build-docker-image'.
| * pack: Add packages in the order in which they appear on the command line.Ludovic Courtès2019-09-16
| | | | | | | | | | * guix/scripts/pack.scm (guix-pack)[manifest-from-args](packages): Reverse order of packages taken from OPTS.
| * import/utils: beautify-description: Recognize more fragments.Ricardo Wurmus2019-09-14
| | | | | | | | | | * guix/import/utils.scm (beautify-description): Handle additional common initial sentence fragments in descriptions.
| * build-system/cargo: Remove unused function.Efraim Flashner2019-09-13
| | | | | | | | * guix/build/cargo-build-system.scm (touch): Remove it.
| * build-system/cargo: Use 'strip-store-file-name'.Efraim Flashner2019-09-13
| | | | | | | | | | | | | | This is a follow-up to f58b2f38e4dfdbb8473fb2816d44fae6ad9cbc79. * guix/build/cargo-build-system.scm (configure): Use bespoke 'strip-store-file-name' function.
| * file-systems: Add /var/run/nscd to '%network-file-mappings'.Ludovic Courtès2019-09-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows containers created by "guix environment -CN" or by "guix system container -N" to talk to the host nscd. * gnu/system/file-systems.scm (%network-file-mappings): Add "/var/run/nscd". * gnu/build/shepherd.scm (default-mounts)[nscd-socket]: Remove. * gnu/system/linux-container.scm (container-script)[nscd-run-directory] [nscd-mapping, nscd-os, nscd-specs]: Remove. [script]: Filter out from SPECS bind-mounts where the device does not exist. * guix/scripts/environment.scm (launch-environment/container) [optional-mapping->fs]: New procedure. [mappings]: Remove %NETWORK-FILE-MAPPINGS. [file-systems]: Add %NETWORK-FILE-MAPPINGS here, filtered through 'optional-mapping->fs'.
| * build: cargo-build-system: Strip store hash from vendor-dir.Efraim Flashner2019-09-12
| | | | | | | | | | * guix/build/cargo-build-system.scm (configure): When copying the sources into the vendor-dir strip off the hash before the package name.
| * import: KDE updater finds packages even in sub-directory.Hartmut Goebel2019-09-10
| | | | | | | | | | | | | | | | | | | | | | | | Fixes <http://issues.guix.gnu.org/issue/30345> and finally fixes <http://issues.guix.gnu.org/issue/25020>. Formerly packages living in a path like /stable/frameworks/5.60/portingAids/kross-5.60.0.tar.xz have not been found. * guix/import/kde.scm (uri->kde-path-pattern): New procedure. (latest-kde-release): Use pattern to search for file.
| * upstream: Move KDE updater into a separate module.Hartmut Goebel2019-09-10
| | | | | | | | | | | | | | | | | | As it was done for (guix import gnome). * guix/import/kde.scm: New file. * Makefile.am (MODULES): Add it. * guix/gnu-maintenance.scm (%kde-updater) (%kde-file-list-uri) (download.kde.org-files) (latest-kde-release): Remove.
| * gnu-maintenance: KDE updater no longer relies on FTP access.Hartmut Goebel2019-09-10
| | | | | | | | | | | | | | | | | | | | Fetch the ls-lR.bz2 file list for download.kde.org, convert it into a list of file paths and cache the list. * guix/gnu-maintenance.scm (%kde-file-list-uri): New variable. (download.kde.org-files): New procedure. (latest-kde-release): Change to use DOWNLOAD.KDE.ORG-FILES and search for files in this list.
| * guix: Rename and move sans-extension to tarball-sans-extension.Hartmut Goebel2019-09-10
| | | | | | | | | | * guix/gnu-maintenance.scm (sans-extension): Move and rename to ... * guix/utils.scm (tarball-sans-extension): ... here.
| * import: crate: Allow imports of a specific version.Martin Becze2019-09-10
| | | | | | | | | | | | | | | | | | | | | | * guix/import/crate.scm (crate->guix-package): Add optional 'version' argument and honor it. * guix/scripts/import/crate.scm (guix-import-crate): Assume the first argument is a spec and destructure it with 'package-name->name+version'. Pass both to 'crate->guix-package'. * doc/guix.texi (Invoking guix import): Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| * refresh: Distinguish between "no updater" and "failing updater".Ludovic Courtès2019-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, something like "guix refresh texmacs" would report "no updater". Now, it reports that the 'gnu-ftp' updater failed to list releases. * guix/upstream.scm (lookup-updater): Use 'find' instead of 'any' to return the <upstream-updater>. (package-latest-release): Adjust accordingly. * guix/scripts/refresh.scm (check-for-package-update): When 'package-latest-release' returns #f, distinguish between "no updater" and "failing updater".
| * packages: 'package-field-location' really catches 'system-error.Ludovic Courtès2019-09-10
| | | | | | | | | | | | | | This had been wrong since forever (i.e., 2013). * guix/packages.scm (package-field-location): Catch 'system-error, not 'system.
| * import: github: Fix incorrect no-release case.Ludovic Courtès2019-09-08
| | | | | | | | | | | | | | | | | | | | This is a followup to 81c3dc32244a17241d74eea9fa265edfcb326f6d. Since that commit, when /releases returned an empty JSON array, we would not fall back to /tags because of the incorrect match. * guix/import/github.scm (fetch-releases-or-tags): Match the empty vector instead of the empty list.
| * daemon: Invoke 'guix gc --list-busy' instead of 'list-runtime-roots'.Ludovic Courtès2019-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * nix/scripts/list-runtime-roots.in: Remove. * guix/store/roots.scm (%proc-directory): New variable. (proc-file-roots, proc-exe-roots, proc-cwd-roots) (proc-fd-roots, proc-maps-roots, proc-environ-roots) (referenced-files, canonicalize-store-item, busy-store-items): New procedures, taken from 'list-runtime-roots.in'. * nix/libstore/globals.hh (Settings)[guixProgram]: New field. * nix/libstore/globals.cc (Settings::processEnvironment): Initialize 'guixProgram'. * nix/libstore/gc.cc (addAdditionalRoots): Drop code related to 'NIX_ROOT_FINDER'. Run "guix gc --list-busy". * nix/local.mk (nodist_pkglibexec_SCRIPTS): Remove 'scripts/list-runtime-roots'. * config-daemon.ac: Don't output nix/scripts/list-runtime-roots. * build-aux/pre-inst-env.in: Don't set 'NIX_ROOT_FINDER'. Set 'GUIX'. * doc/guix.texi (Invoking guix gc): Document '--list-busy'. * guix/scripts/gc.scm (show-help, %options): Add "--list-busy". (guix-gc)[list-busy]: New procedure. Handle the 'list-busy' action.
* | Merge branch 'master' into core-updatesMark H Weaver2019-09-06
|\|
| * download: Pass 'http_proxy' et al. to git, hg, etc.Ludovic Courtès2019-09-05
| | | | | | | | | | | | | | | | | | | | | | | | This allows 'git-fetch' etc. origins to honor the proxy and locale of the daemon. * guix/bzr-download.scm (bzr-fetch): Pass #:leaked-env-vars to 'gexp->derivation'. * guix/cvs-download.scm (cvs-fetch): Likewise. * guix/git-download.scm (git-fetch): Likewise. * guix/hg-download.scm (hg-fetch): Likewise. * guix/svn-download.scm (svn-multi-fetch): Likewise.
| * build-system/asdf: Add option to compress programs.Pierre Neidhardt2019-09-05
| | | | | | | | | | | | * guix/build/lisp-utils.scm (build-program): Add `compress?' key argument. (generate-executable-for-system): Same. (generate-executable): Same.
| * build-system/julia: Avoid module cycles.Marius Bakke2019-09-05
| | | | | | | | | | * guix/build-system/julia.scm: Remove unused imports. (lower)[julia]: Default to (DEFAULT-JULIA).
| * build-system/julia: Fix syntax error.Ricardo Wurmus2019-09-04
| | | | | | | | * guix/build-system/julia.scm: Fix invalid module reference.
| * import: opam: Use propagated-inputs instead of inputs.Julien Lepiller2019-09-04
| | | | | | | | * guix/import/opam.scm (opam->guix-package): Use propagated-inputs instead of inputs.
| * import: opam: Remove initial "v" in some version numbers.Julien Lepiller2019-09-04
| | | | | | | | * guix/import/opam.scm (opam-fetch): Remove initial "v" in some version numbers.
| * build: Add julia-build-system.nixo2019-09-04
| | | | | | | | | | | | | | | | | | * guix/build/julia-build-system.scm: New file. * guix/build-system/julia.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document julia-build-system. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
| * import: crate: Correct interpretation of dual-licensing strings.Ludovic Courtès2019-09-04
| | | | | | | | | | | | | | * guix/import/crate.scm (%dual-license-rx): New variable. (crate->guix-package)[string->license]: Rewrite to match it. * tests/crate.scm (test-crate): Adjust "license" field to current practice.
| * import: crate: Separate crates.io API from actual conversion.Ludovic Courtès2019-09-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This provides a clean separation between bindings to the https://crates.io/api/v1 API and actual conversion to Guix package sexps. As a side-effect, it fixes things like "guix import blake2-rfc", "guix refresh -t crates", etc. * guix/import/crate.scm (<crate>, <crate-version>, <crate-dependency>): New record types. (lookup-crate, crate-version-dependencies): New procedures. (crate-fetch): Remove. (crate->guix-package): Rewrite to use the new API. (latest-release): Likewise. * guix/build-system/cargo.scm (%crate-base-url): New variable. * tests/crate.scm (test-crate): Update accordingly. fixlet
| * ci: Use (guix json) and adjust for Guile-JSON 3.x.Ludovic Courtès2019-09-04
| | | | | | | | | | | | | | | | | | | | | | This is in part a followup to 81c3dc32244a17241d74eea9fa265edfcb326f6d. * guix/ci.scm (<build>, <checkout>, <evaluation>): Define using 'define-json-mapping'. (json->build, json->checkout, json->evaluation): Remove. (queued-builds, latest-builds, latest-evaluations): Pass JSON arrays through 'vector->list' to adjust for Guile-JSON 3.x. (evaluations-for-commit): Fix typo to really export.
| * Add (guix json).Ludovic Courtès2019-09-04
| | | | | | | | | | | | * guix/swh.scm (define-json-reader, define-json-mapping): Move to... * guix/json.scm: ... here. New file. * Makefile.am (MODULES): Add it.
| * deploy: Add missing store options.Ludovic Courtès2019-09-04
| | | | | | | | | | * guix/scripts/deploy.scm (%default-options): Add missing options such as 'print-build-trace?', etc.
| * lint: Add 'archival' checker.Ludovic Courtès2019-09-02
| | | | | | | | | | | | | | | | | | | | | | * guix/lint.scm (check-archival): New procedure. (%network-dependent-checkers): Add 'archival' checker. * tests/lint.scm ("archival: missing content") ("archival: content available") ("archival: missing revision") ("archival: revision available") ("archival: rate limit reached"): New tests. * doc/guix.texi (Invoking guix lint): Document it.
| * swh: Make 'commit-id?' public.Ludovic Courtès2019-09-02
| | | | | | | | * guix/swh.scm (commit-id?): Make public.
| * swh: Add hooks for rate limiting handling.Ludovic Courtès2019-09-02
| | | | | | | | | | | | | | | | | | | | | | * guix/swh.scm (%allow-request?, %save-rate-limit-reset-time) (%general-rate-limit-reset-time): New variables. (request-rate-limit-reached?, update-rate-limit-reset-time!): New procedures. (call): Call '%allow-request?'. Change 'swh-error' protocol to pass METHOD in addition to URL. * tests/swh.scm ("rate limit reached") ("%allow-request? and request-rate-limit-reached?"): New tests.
| * tests: 'with-http-server' accepts multiple responses.Ludovic Courtès2019-09-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/tests/http.scm (call-with-http-server): Replace 'code' and 'data' parameters with 'responses+data'. Compute RESPONSES as a function of that. Remove #:headers parameter. [http-write]: Quit only when RESPONSES is empty. [server-body]: Get the response and data from RESPONSES, and set it to point to the rest. (with-http-server): Adjust accordingly. * tests/derivations.scm ("'download' built-in builder") ("'download' built-in builder, invalid hash") ("'download' built-in builder, not found") ("'download' built-in builder, check mode"): Adjust to new 'with-http-server' interface. * tests/lint.scm ("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: 200", "source: 200 but short length") ("source: 404", "source: 404 and 200") ("source: 301 -> 200", "source: 301 -> 404"): ("github-url", github-url): Likewise. * tests/swh.scm (with-json-result) ("lookup-origin, not found"): Likewise.
| * import: cran: Only use the git import with what looks like a URL.Ricardo Wurmus2019-09-02
| | | | | | | | | | * guix/import/cran.scm (fetch-description): Abort if the argument does not look like a URL.
| * import: cran: Retry failed git imports on Bioconductor.Ricardo Wurmus2019-09-02
| | | | | | | | | | * guix/import/cran.scm (cran->guix-package): Retry failed git imports on Bioconductor.
| * build/cargo-build-system: Use invoke.Efraim Flashner2019-09-02
| | | | | | | | | | * guix/build/cargo-build-system.scm (crate-src?, build, check, install): Use 'invoke'.
| * lint: Gracefully handle errors from 'connect' & co.Ludovic Courtès2019-08-31
| | | | | | | | | | * guix/lint.scm (call-with-networking-fail-safe): Add case for 'system-error' as typically raised by 'connect' & co.
| * guix system: Reinstalling the bootloader preserves extra menu entries.Ludovic Courtès2019-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/36876>. Reported by Jesse Gibbons <jgibbons2357@gmail.com>. Previously 'guix system delete-generations' or 'switch-generation' would lose the extra bootloader menu entries specified in the current system's configuration. This fixes that. * guix/scripts/system.scm (reinstall-bootloader): Turn PARAMS into a single <boot-parameters>. Adjust ENTRIES to include extra menu entries specified in PARAMS.
| * lint: formatting: Reporters return #f or a warning.Ludovic Courtès2019-08-30
| | | | | | | | | | | | | | * guix/lint.scm (report-tabulations, report-trailing-white-space) (report-long-line, report-lone-parentheses): Return #f instead of *unspecified* when there are no warnings. (report-formatting-issues): Use 'filter-map' instead of 'map' + 'filter'.
* | packages: 'supported-package?' binds '%current-system' for graph traversal.Ludovic Courtès2019-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, (supported-package? coreutils "armhf-linux") with (%current-system) = "x86_64-linux" would return false. That's because 'supported-package?' would traverse the x86_64 dependency graph, which contains 'tcc-boot0', which supports x86 only. Consequently, 'supported-package?' would match only 53 packages for "armhf-linux" when running on x86, as is the case during continuous integration. * guix/packages.scm (package-transitive-supported-systems): Add an optional 'system' parameter. Use 'mlambda' instead of 'mlambdaq' for memoization. (supported-package?): Pass 'system' to 'package-transitive-supported-systems'. * tests/packages.scm ("package-transitive-supported-systems, implicit inputs") ("package-transitive-supported-systems: reduced binary seed, implicit inputs"): Remove calls to 'invalidate-memoization!', which no longer work and were presumably introduced to work around the bug we're fixing (see commit 0db65c168fd6dec57a357735fe130c80feba5460). * tests/packages.scm ("supported-package?"): Rewrite test to use only existing system name since otherwise 'bootstrap-executable' raises an exception. ("supported-package? vs. system-dependent graph"): New test.
* | Merge branch 'master' into core-updatesMark H Weaver2019-08-29
|\|
| * import: cran: Add support for git repositories.Ricardo Wurmus2019-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/import/cran.scm (vcs-file?): New procedure. (download): Support downloading from git. (fetch-description): Add a clause for the 'git repository type. (files-match-pattern?): New procedure. (tarball-files-match-pattern?): Implement in terms of FILES-MATCH-PATTERN?. (directory-needs-fortran?, directory-needs-zlib?, directory-needs-pkg-config?): New procedures. (needs-fortran?, needs-zlib?, needs-pkg-config?): Rename these procedures... (tarball-needs-fortran?, tarball-needs-zlib?, tarball-needs-pkg-config?): ...to this, and use them. (file-hash): New procedure. (description->package): Handle the 'git repository type. * guix/import/utils.scm (package->definition): Handle package expression inside of a let. * guix/scripts/import.scm (guix-import): Handle let expressions. * doc/guix.texi (Invoking guix import): Document it.
| * import: cran: guix-import-cran: Use (guix import utils).Ricardo Wurmus2019-08-29
| | | | | | | | | | * guix/scripts/import/cran.scm (guix-import-cran): Use PACKAGE->DEFINITION from (guix import utils) instead of custom procedure.
| * deploy: Do not quote error messages.Ludovic Courtès2019-08-28
| | | | | | | | * guix/scripts/deploy.scm (guix-deploy): Do not quote the message.
| * remote, ssh: Show the command exit status upon failure.Ludovic Courtès2019-08-28
| | | | | | | | | | | | * guix/remote.scm (remote-pipe-for-gexp): Show the exit status in error message. * guix/ssh.scm (remote-inferior): Likewise.