Age | Commit message (Expand) | Author |
2019-09-23 | ui: Add 'current-message-language'....* guix/ui.scm (%default-message-language): New variable.
(current-message-language): New procedure.
| Ludovic Courtès |
2019-09-23 | channels: Allow news entries to refer to a tag....Suggested by Ricardo Wurmus <rekado@elephly.net>.
* guix/channels.scm (<channel-news-entry>)[tag]: New field.
(sexp->channel-news-entry): Accept either 'commit' or 'tag' in 'entry'
forms.
(resolve-channel-news-entry-tag): New procedure.
(channel-news-for-commit): Move 'with-repository' form one level
higher. Call 'resolve-channel-news-entry-tag' on all the news entries.
* guix/tests/git.scm (populate-git-repository): Add clause for 'tag'.
* tests/channels.scm ("channel-news, one entry"): Create a tag and add
an entry with a tag. Check that the tag is resolved and also visible in
the <channel-news-entry> record.
* doc/guix.texi (Channels): Mention tags in news entries.
| Ludovic Courtès |
2019-09-23 | channels: Add support for a news file....* guix/channels.scm (<channel-metadata>)[news-file]: New field.
(read-channel-metadata): Set the 'news-file' field.
(read-channel-metadata-from-source): Likewise.
(<channel-news>, <channel-news-entry>): New record types.
(sexp->channel-news-entry, read-channel-news)
(channel-news-for-commit): New procedures.
* guix/tests/git.scm (populate-git-repository): For 'add', allow
CONTENTS to be a procedure.
* tests/channels.scm ("channel-news, no news")
("channel-news, one entry"): New tests.
* doc/guix.texi (Channels): Document it.
| Ludovic Courtès |
2019-09-23 | git: Add 'commit-difference'....* guix/git.scm (commit-closure, commit-difference): New procedures.
* guix/tests/git.scm, tests/git.scm: New files.
* Makefile.am (dist_noinst_DATA): Add guix/tests/git.scm.
(SCM_TESTS): Add tests/git.scm.
| Ludovic Courtès |
2019-09-23 | git: 'update-cached-checkout' avoids network access when unnecessary....* guix/git.scm (reference-available?): New procedure.
(update-cached-checkout): Avoid call to 'remote-fetch' when REPOSITORY
already contains REF.
| Ludovic Courtès |
2019-09-23 | pull: '--news' shows the list of channels added or removed....* guix/scripts/pull.scm (display-channel, channel=?)
(display-channel-news, display-news): New procedures.
(process-query): Call 'display-news' instead of 'display-profile-news'.
| Ludovic Courtès |
2019-09-21 | guix package: '--show' ignores deprecated packages....* guix/scripts/package.scm (process-query) <'show>: Remove superseded
packages.
* tests/guix-package-aliases.sh: Add test.
| Ludovic Courtès |
2019-09-21 | guix package: Add 'guix show' alias....* guix/scripts/show.scm: New file.
* Makefile.am (MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* tests/guix-package-aliases.sh: Add test.
* doc/guix.texi (Invoking guix package): Document it and use it in a example.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2019-09-21 | inferior: Propagate '&store-protocol-error' error conditions....Until now '&store-protocol-error' conditions raised in the inferior
would not be correctly propagated because SRFI-35 records lack a read
syntax.
Reported at <https://bugs.gnu.org/37449>
by Carl Dong <contact@carldong.me>.
* guix/inferior.scm (port->inferior): Import (srfi srfi-34) in the inferior.
(inferior-eval-with-store): Define 'error?' and 'error-message'. Wrap
call to PROC in 'guard'. Check the response of INFERIOR for a
'store-protocol-error' or a 'result' tag.
* tests/inferior.scm ("inferior-eval-with-store, &store-protocol-error"):
New test.
| Ludovic Courtès |
2019-09-20 | import/github: Check for more version prefixes....* guix/import/github.scm (latest-released-version): Allow the
version string to begin with the word 'version'.
| Efraim Flashner |
2019-09-19 | ui: 'relevance' connects regexps with a logical and....Fixes <https://bugs.gnu.org/36763>.
Previously, the logical and connecting the regexps did not output the expected
results (introduced in 8874faaaac665100a095ef25e39c9a389f5a397f).
* guix/ui.scm (relevance)
[score]: Change its arguments.
[regexp->score]: New procedure.
* tests/ui.scm ("package-relevance"): Add test.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2019-09-18 | scripts: pull: Add options for generation management...* guix/scripts/pull.scm (%options) Add --roll-back, --switch-generation,
--delete-generations
(process-generation-change): New function
(guix-pull): Execute generation management operations
* doc/guix.texi: Document the generation management operations
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Konrad Hinsen |
2019-09-18 | pull: Work around Ubuntu's 'sudo'....Partly fixes <https://bugs.gnu.org/36785>.
Reported by Julien Lepiller <julien@lepiller.eu>.
* guix/scripts/pull.scm (ensure-default-profile): Do not call
'migrate-generations' when "SUDO_USER" is set.
| Ludovic Courtès |
2019-09-18 | import: pypi: Refresher recognizes pythonhosted.org source URLs....This is a followup to a5376200541abf8245973e601be246bf65b8b6c7.
Since that commit, 'pypi-package?' would return false for most Python
packages, and thus "guix refresh python-xxx" would report that no
updaters apply to the package.
* guix/import/pypi.scm (pypi-package?)[pypi-url?]: Recognize
"files.pythonhosted.org" URLs.
| Ludovic Courtès |
2019-09-18 | guix package: "guix package -f FILE" ensures FILE returns a package....* guix/scripts/package.scm (options->installable): Add clause for
'install option with a non-package object.
* tests/guix-package.sh: Add test.
| Ludovic Courtès |
2019-09-17 | Merge branch 'master' into core-updates | Ludovic Courtès |
2019-09-16 | Revert "build-system/r: Use %bioconductor-version."...This reverts commit 41ca406fa54e69f61c55b11ffe5cf465192a907c.
This commit breaks 'guix pull', as reported by Hao Chen.
| Efraim Flashner |
2019-09-16 | build-system/r: Use %bioconductor-version....* guix/build-system/r.scm (bioconductor-uri): Use %bioconductor-version
instead of hard-coding the version string.
| Ricardo Wurmus |
2019-09-16 | import/cran: Export %bioconductor-version....* guix/import/cran.scm (%bioconductor-version): Export it.
| Ricardo Wurmus |
2019-09-16 | pack: Provide a meaningful "repository name" for Docker....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'.
| Ludovic Courtès |
2019-09-16 | pack: Add packages in the order in which they appear on the command line....* guix/scripts/pack.scm (guix-pack)[manifest-from-args](packages):
Reverse order of packages taken from OPTS.
| Ludovic Courtès |
2019-09-14 | import/utils: beautify-description: Recognize more fragments....* guix/import/utils.scm (beautify-description): Handle additional common
initial sentence fragments in descriptions.
| Ricardo Wurmus |
2019-09-13 | build-system/cargo: Remove unused function....* guix/build/cargo-build-system.scm (touch): Remove it.
| Efraim Flashner |
2019-09-13 | build-system/cargo: Use 'strip-store-file-name'....This is a follow-up to f58b2f38e4dfdbb8473fb2816d44fae6ad9cbc79.
* guix/build/cargo-build-system.scm (configure): Use bespoke
'strip-store-file-name' function.
| Efraim Flashner |
2019-09-12 | file-systems: Add /var/run/nscd to '%network-file-mappings'....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'.
| Ludovic Courtès |
2019-09-12 | build: cargo-build-system: Strip store hash from vendor-dir....* guix/build/cargo-build-system.scm (configure): When copying the
sources into the vendor-dir strip off the hash before the package name.
| Efraim Flashner |
2019-09-10 | import: KDE updater finds packages even in sub-directory....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.
| Hartmut Goebel |
2019-09-10 | upstream: Move KDE updater into a separate module....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.
| Hartmut Goebel |
2019-09-10 | gnu-maintenance: KDE updater no longer relies on FTP access....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.
| Hartmut Goebel |
2019-09-10 | guix: Rename and move sans-extension to tarball-sans-extension....* guix/gnu-maintenance.scm (sans-extension): Move and rename to ...
* guix/utils.scm (tarball-sans-extension): ... here.
| Hartmut Goebel |
2019-09-10 | import: crate: Allow imports of a specific version....* 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>
| Martin Becze |
2019-09-10 | refresh: Distinguish between "no updater" and "failing updater"....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".
| Ludovic Courtès |
2019-09-10 | packages: 'package-field-location' really catches 'system-error....This had been wrong since forever (i.e., 2013).
* guix/packages.scm (package-field-location): Catch 'system-error, not
'system.
| Ludovic Courtès |
2019-09-08 | import: github: Fix incorrect no-release case....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.
| Ludovic Courtès |
2019-09-08 | daemon: Invoke 'guix gc --list-busy' instead of 'list-runtime-roots'....* 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.
| Ludovic Courtès |
2019-09-06 | Merge branch 'master' into core-updates | Mark H Weaver |
2019-09-06 | packages: 'supported-package?' binds '%current-system' for graph traversal....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.
| Ludovic Courtès |
2019-09-05 | download: Pass 'http_proxy' et al. to git, hg, etc....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.
| Ludovic Courtès |
2019-09-05 | build-system/asdf: Add option to compress programs....* guix/build/lisp-utils.scm (build-program): Add `compress?' key argument.
(generate-executable-for-system): Same.
(generate-executable): Same.
| Pierre Neidhardt |
2019-09-05 | build-system/julia: Avoid module cycles....* guix/build-system/julia.scm: Remove unused imports.
(lower)[julia]: Default to (DEFAULT-JULIA).
| Marius Bakke |
2019-09-04 | build-system/julia: Fix syntax error....* guix/build-system/julia.scm: Fix invalid module reference.
| Ricardo Wurmus |
2019-09-04 | import: opam: Use propagated-inputs instead of inputs....* guix/import/opam.scm (opam->guix-package): Use propagated-inputs instead of inputs.
| Julien Lepiller |
2019-09-04 | import: opam: Remove initial "v" in some version numbers....* guix/import/opam.scm (opam-fetch): Remove initial "v" in some version numbers.
| Julien Lepiller |
2019-09-04 | build: Add julia-build-system....* 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>
| nixo |
2019-09-04 | import: crate: Correct interpretation of dual-licensing strings....* 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.
| Ludovic Courtès |
2019-09-04 | import: crate: Separate crates.io API from actual conversion....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
| Ludovic Courtès |
2019-09-04 | ci: Use (guix json) and adjust for Guile-JSON 3.x....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.
| Ludovic Courtès |
2019-09-04 | Add (guix json)....* guix/swh.scm (define-json-reader, define-json-mapping): Move to...
* guix/json.scm: ... here. New file.
* Makefile.am (MODULES): Add it.
| Ludovic Courtès |
2019-09-04 | deploy: Add missing store options....* guix/scripts/deploy.scm (%default-options): Add missing options such
as 'print-build-trace?', etc.
| Ludovic Courtès |
2019-09-02 | lint: Add 'archival' checker....* 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.
| Ludovic Courtès |