Age | Commit message (Expand) | Author |
2019-05-16 | guix system: Type-check the file or expression....Previously, users would get a wrong-type-arg exception down the road
with an intimidating backtrace.
* guix/scripts/system.scm (process-action)[ensure-operating-system]: New
procedure.
Use it.
| Ludovic Courtès |
2019-05-15 | docker: 'build-docker-image' accepts an optional #:entry-point....* guix/docker.scm (config): Add #:entry-point and honor it.
(build-docker-image): Likewise.
| Ludovic Courtès |
2019-05-15 | import: github: Sort releases before picking the latest one....* guix/import/github.scm (latest-released-version): Sort releases before
picking the first one as the latest.
| Arun Isaac |
2019-05-15 | import: github: Improve readability....* guix/import/github.scm (latest-released-version)[release->version]: Separate
out release->version as a new function.
| Arun Isaac |
2019-05-14 | guix build: Gracefully handle invalid '--with-git-url' specs....* guix/scripts/build.scm (transform-package-source-git-url): Add case
for when 'string-split' does not return exactly two elements.
| Ludovic Courtès |
2019-05-13 | vm: Auto-detect if inputs should be registered....The default value of the argument REGISTER-CLOSURE? of the ISO9660-IMAGE,
QEMU-IMAGE and SYSTEM-DOCKER-IMAGE procedures can be computed automatically,
since the operating-system definition is available in its context. When the
operating-system definition does not contain the GUIX-SERVICE-TYPE, do not
register the closure in the database of Guix, as it takes time and doesn't
serve a purpose.
* gnu/system/vm.scm (has-guix-service-type): Add predicate.
(iso9660-image)[register-closures?]: Use it to compute the argument's default
value.
(qemu-image)[register-closures?]: Likewise, and update docstring.
(system-docker-image)[register-closures?]: Likewise.
(system-disk-image): Do not explicit a value for the REGISTER-CLOSURES?
argument of the ISO9660-IMAGE and QEMU-IMAGE procedure calls, so that its
default value is used instead.
* guix/scripts/system.scm (system-derivation-for-action): Do not explicit a
value for the REGISTER-CLOSURES? argument of the SYSTEM-DOCKER-IMAGE
procedure call, so that its default value is used instead.
| Maxim Cournoyer |
2019-05-14 | linux-container: Support container network sharing....* gnu/system/linux-container.scm (container-essential-services): If network is
to be shared with the host, remove network configuration files from etc
service.
(containerized-operating-system): If network is to be shared with the host,
remove nscd service and map host's /var/run/nscd if it exists.
(container-script): If network is to be shared with the host, do not create
network namespace.
* guix/scripts/system.scm (system-derivation-for-action): Add
#:container-shared-network? argument.
(perform-action): Add #:container-shared-network? argument.
(show-help): Add "-N, --network" help information.
(%options): Add network option.
(process-action): Call perform-action with #container-shared-network? argument.
* doc/guix.texi (Invoking guix system): Document the "-N, --network" option.
Co-authored-by: Christopher Baines <mail@cbaines.net>
| Arun Isaac |
2019-05-13 | download: Support 'https_proxy'....* guix/build/download.scm (setup-http-tunnel): New procedure.
(open-connection-for-uri): Honor the 'https_proxy' environment variable.
| 宋文武 |
2019-05-12 | gnu-maintenance: Update URL for package databases....The databases migrated away from the Womb a couple of days ago.
* guix/gnu-maintenance.scm (%gnumaint-base-url): Update URL.
| Ludovic Courtès |
2019-05-10 | build/cargo-utils: Remove "src-name" parameter....* gnu/packages/gnuzilla.scm (icecat)[arguments]<#:phases>
[patch-cargo-checksums]: Delete "null-file" variable.
* gnu/packages/rust.scm (%cargo-reference-project-file): Delete variable.
* gnu/packages/rust.scm (rust-1.19): Remove reference to
"%cargo-reference-project-file".
* guix/build/cargo-utils.scm (generate-checksums): Remove "src-name"
parameter.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Ivan Petkov |
2019-05-09 | syscalls: Add 'arp-network-interface?'....* guix/build/syscalls.scm (IFF_NOARP): New variable.
(arp-network-interface?): New public procedure.
| Marius Bakke |
2019-05-09 | pull: Display 'hash guix' hint when the new and old 'guix' are different....Fixes <https://bugs.gnu.org/35601>.
Reported by Diego Nicola Barbato <dnbarbato@posteo.de>.
Previously we were calling (which "guix") after the new profile had been
built and symlinked, so in most cases the hint would not be triggered,
even though it should have been triggered.
* guix/scripts/pull.scm (build-and-install)[guix-command]: New variable.
Compare PROFILE/bin/guix against GUIX-COMMAND.
| Ludovic Courtès |
2019-05-09 | ui: Make package outputs searchable....* guix/ui.scm (relevance): Allow the "field" procedure of a metric to
return a list, and handle that case appropriately. Update docstring.
(%package-metrics): Add a metric for package outputs.
* guix/scripts/package.scm (find-packages-by-description): Update
docstring.
* tests/guix-package.sh: Add a test case to verify that package outputs are
included in search results.
Co-authored-by: Tobias Geerinckx-Rice <me@tobias.gr>
| Chris Marusich |
2019-05-09 | Add (guix bzr-download)....* guix/bzr-download.scm, guix/build/bzr.scm,
etc/snippets/scheme-mode/guix-bzr-reference: New files.
* Makefile.am (MODULES): Add them.
* etc/snippets/scheme-mode/guix-origin: Add "bzr-fetch" to the origin choices.
| Maxim Cournoyer |
2019-05-07 | guix: Simplify and robustify lzread!....* guix/lzlib.scm (lzread!): Do it.
Previously lzread! would fail if COUNT was bigger
than (lz-decompress-write-size). This is possible if a previous call to
lzread! didn't empty the LZ_decompress input buffer (e.g. BV was too small to
fit all the data).
| Pierre Neidhardt |
2019-05-07 | environment: Non ad-hoc mode also honors transformation options....Fixes <https://bugs.gnu.org/35618>.
Reported by Florent Pruvost <florent.pruvost@inria.fr>.
* guix/scripts/environment.scm (options/resolve-packages): Add call to
TRANSFORM in non "ad-hoc" case.
* tests/guix-environment.sh: Add test.
| Ludovic Courtès |
2019-05-06 | Add (guix lzlib)....* guix/lzlib.scm, tests/lzlib.scm: New files.
* Makefile.am (MODULES): Add guix/lzlib.scm.
(SCM_TESTS): Add tests/lzlib.scm.
* m4/guix.m4 (GUIX_LIBLZ_LIBDIR): New macro.
* configure.ac (LIBLZ_LIBDIR): Use it. Define and substitute
'LIBLZ'.
* guix/config.scm.in (%liblz): New variable.
* guix/self.scm (make-config.scm): Add TODO comment.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Pierre Neidhardt |
2019-05-05 | build: go-build-system: Follow-up to commit f42e4ebb56....This follows commit f42e4ebb56, which made it so that the unpack phase return
value could be left unspecified.
* guix/build/go-build-system.scm (unpack): Ensure that the value returned upon
a successful completion of the phase is #t.
| Maxim Cournoyer |
2019-05-05 | build: go-build-system: Follow-up commit....There was an extraneous pair of parens in commit 7e84d3eef7. Thanks for Mark
Weaver for reporting the issue.
* guix/build/go-build-system.scm (unpack): Remove the extraneous pair of
parentheses surrounding the `display' function call.
| Maxim Cournoyer |
2019-05-05 | build: go-build-system: Ensure uniform unpacking directory....Depending on whether the source is a directory or an archive, we strip the
source directory or preserve it, respectively. This change makes it so that
whether the type of the source, it is unpacked at the expected location given
by the IMPORT-PATH of the Go build system.
* guix/build/go-build-system.scm: Add the (ice-9 ftw) module.
(unpack): Add inner procedure to maybe strip the top level directory of an
archive, document it and use it.
| Maxim Cournoyer |
2019-05-05 | build: go-build-system: Use WHEN for side-effect conditionals....* guix/build/go-build-system.scm (unpack): Replace single branch `if' by
`when'.
| Maxim Cournoyer |
2019-05-05 | build: go-build-system: Re-ident....* guix/build/go-build-system.scm (unpack): Fix indentation.
| Maxim Cournoyer |
2019-05-06 | guix: Update to Bioconductor 3.9....* guix/build-system/r.scm (bioconductor-uri): Use 3.9 archive URL.
* guix/import/cran.scm (%bioconductor-version): Update to 3.9.
| Ricardo Wurmus |
2019-05-02 | Merge branch 'version-1.0.0' | Ludovic Courtès |
2019-05-01 | build: Change default substitute server to "ci.guix.gnu.org"....* config-daemon.ac: Replace "ci.guix.info" with "ci.guix.gnu.org".
* doc/guix.texi (SUBSTITUTE-SERVER): Likewise.
* etc/substitutes/ci.guix.gnu.org.pub: New file.
* Makefile.am (dist_pkgdata_DATA): Add it.
* guix/scripts/build.scm (%default-log-urls): Update.
* guix/scripts/substitute.scm (%default-substitute-urls): Likewise.
* guix/store.scm (%default-substitute-urls): Likewise.
* guix/self.scm (miscellaneous-files): Add "ci.guix.gnu.org".
| Ludovic Courtès |
2019-04-30 | guix: Fix another typo in another docstring....* guix/build/clojure-utils.scm (include-list\exclude-list)<docstring>:
Fix typo.
| Tobias Geerinckx-Rice |
2019-04-30 | guix: Fix typo in docstring....* guix/build/syscalls.scm (device-in-use?)<docstring>: Fix typo.
| Tobias Geerinckx-Rice |
2019-04-29 | processes: Gracefully handle daemons without clients....Fixes <https://bugs.gnu.org/34716>.
Reported by Mark H Weaver <mhw@netris.org>.
The problem could be reproduced by running, on one hand:
sh -c 'exec -a guix-daemon sleep 777'
and on the other hand:
guix processes
If there is no process with PID 777, 'guix processes' would barf as it
stumbles upon a <daemon-session> record whose client is #f.
* guix/scripts/processes.scm (daemon-sessions)[child-process->session]:
New procedure, with lambda formerly passed to 'map'. Handle #f returns
from 'lookup-process'.
Call 'child-process->session' within 'filter-map', not just 'map'.
| Ludovic Courtès |
2019-04-29 | processes: 'process-open-files' ignores disappeared /proc/PID/fd entries....Previously, 'process-open-files' would throw ENOENT if an entry had
vanished after the 'scandir' call and before the 'readlink' call.
* guix/scripts/processes.scm (process-open-files): Catch ENOENT errors
from 'readlink'.
| Ludovic Courtès |
2019-04-29 | guix package: Add 'guix search' alias....* guix/scripts/search.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
couple of examples.
| Ludovic Courtès |
2019-04-29 | file-systems: Support the 'no-atime' flag....* guix/build/syscalls.scm (MS_NOATIME): New variable.
* gnu/build/file-systems.scm (mount-flags->bit-mask): Support it.
* doc/guix.texi (File Systems): Document it and add cross-references to
the relevant documentation.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| rendaw |
2019-04-29 | guix package: Add 'install', 'remove', and 'upgrade' aliases....* guix/scripts/install.scm, guix/scripts/remove.scm,
guix/scripts/upgrade.scm, tests/guix-package-aliases.sh: New files.
* Makefile.am (MODULES, SH_TESTS): Add them.
* po/guix/POTFILES.in: Add them.
* guix/scripts/package.scm (guix-package): Split with...
(guix-package*): ... this. New procedure.
* doc/guix.texi (Invoking guix package): Document them.
(Binary Installation, Application Setup, Package Management)
(Packages with Multiple Outputs, Package Modules)
(X.509 Certificates, Installing Debugging Files): Use 'guix install' in
simple examples.
* etc/completion/bash/guix (_guix_complete): Handle "install", "remove",
and "upgrade".
| Ludovic Courtès |
2019-04-28 | describe: Provide a hint when origin detection fails....* guix/scripts/describe.scm (display-checkout-info): Add call to
'display-hint' in the error case.
| Ludovic Courtès |
2019-04-28 | Merge branch 'staging' | Ludovic Courtès |
2019-04-27 | self: Rebuild translated manuals....* guix/self.scm (info-manual): Run po4a and related commands to generate
translated texi files before building translated manuals.
* guix/build/po.scm: New file.
* Makefile.am (MODULES_NOT_COMPILED): Add it.
| Julien Lepiller |
2019-04-25 | gnu: ocaml@4.02: Remove the package, affected by a CVE, and its dependent...packages.
This fixes <https://bugs.gnu.org/27462>.
* gnu/packages/ocaml.scm (ocaml-4.02, camlp4-4.02, ocaml4.02-menhir)
(ocaml4.02-lablgtk, ocaml4.02-findlib, ocaml4.02-ounit)
(ocaml4.02-camlzip, ocaml4.02-ocamlmod, ocaml4.02-zarith)
(ocaml4.02-qcheck, ocaml4.02-qtest, ocaml4.02-stringext)
(ocaml4.02-bisect, ocaml4.02-bitstring, ocaml4.02-result)
(ocaml4.02-topkg, ocaml4.02-rresult, ocaml4.02-sqlite3, ocaml4.02-csv)
(ocaml4.02-mtime, ocaml4.02-cmdliner, ocaml4.02-fmt, ocaml4.02-astring)
(ocaml4.02-alcotest, ocaml4.02-ppx-tools, ocaml4.02-react, ocaml4.02-ssl)
(ocaml4.02-lwt, ocaml4.02-lwt-log, ocaml4.02-logs, ocaml4.02-fpath)
(ocaml4.02-bos, ocaml4.02-xmlm, ocaml4.02-ulex, ocaml4.02-uchar)
(ocaml4.02-uutf, ocaml4.02-jsonm, ocaml4.02-ocurl, ocaml4.02-base64)
(ocaml4.02-omake, ocaml4.02-batteries, ocaml4.02-pcre, ocaml4.02-oasis)
(ocaml4.02-js-build-tools, ocaml4.02-bin-prot, ocaml4.02-fieldslib)
(ocaml4.02-ppx-core, ocaml4.02-ppx-optcomp, ocaml4.02-ppx-driver)
(ocaml4.02-cppo, ocaml4.02-ppx-deriving, ocaml4.02-ppx-type-conv)
(ocaml4.02-ppx-inline-test, ocaml4.02-ppx-bench, ocaml4.02-ppx-compare)
(ocaml4.02-sexplib, ocaml4.02-typerep, ocaml4.02-variantslib)
(ocaml4.02-ppx-sexp-conv, ocaml4.02-ppx-variants-conv)
(ocaml4.02-ppx-here, ocaml4.02-ppx-assert, ocaml4.02-ppx-enumerate)
(ocaml4.02-ppx-let, ocaml4.02-ppx-typerep-conv, ocaml4.02-ppx-sexp-value)
(ocaml4.02-ppx-pipebang, ocaml4.02-ppx-bin-prot, ocaml4.02-ppx-fail)
(ocaml4.02-ppx-custom-printf, ocaml4.02-ppx-sexp-message)
(ocaml4.02-ppx-fields-conv, ocaml4.02-seq, ocaml4.02-re)
(ocaml4.02-ppx-expect, ocaml4.02-ppx-jane, ocaml4.02-core-kernel)
(ocaml4.02-async-kernel, ocaml4.02-async-rpc-kernel, ocaml4.02-core)
(ocaml4.02-async-unix, ocaml4.02-async-extra, ocaml4.02-async)
(ocaml4.02-ocplib-endian, ocaml4.02-easy-format, optcomp)
(ocaml4.02-piqilib, ocaml4.02-uuidm, ocaml4.02-graph, ocaml4.02-piqi)
(ocaml4.02-camomile, ocaml4.02-zed, ocaml4.02-lambda-term): Remove variables.
* guix/build-system/ocaml.scm (default-ocaml4.02)
(default-ocaml4.02-findlib, package-with-ocaml4.02)
(strip-ocaml4.02-variant): Remove variables.
| Julien Lepiller |
2019-04-25 | gnu, guix: Yearly ritual purging of the filesystems....* gnu/packages/android.scm (android-ext4-utils)[synopsis]: Fix ‘file
system’ spelling.
* gnu/packages/disk.scm (rmlint)[synopsis, description]: Likewise.
* gnu/packages/golang.scm (go-github-com-kr-fs)[synopsis, description]:
Likewise & edit for grammar.
* gnu/packages/ipfs.scm (gx, go-ipfs)[description]: Likewise.
* /gnu/packages/java.scm (java-commons-vfs)[synopsis]: Likewise.
* gnu/packages/linux.scm (fuseiso)[description]: Likewise.
(genext2fs)[synopsis, description]: Likewise.
* gnu/packages/package-management.scm (libostree)[description]: Likewise.
* gnu/packages/python-xyz.scm (python-requests-file)[description]:
Likewise & mark up.
* gnu/packages/rails.scm (ruby-with-advisory-lock)[description]:
Likewise.
* gnu/packages/ruby.scm (ruby-rerun)[description]: Likewise.
* guix/build/go-build-system.scm (setup-go-environment)<docstring>:
Likewise.
* guix/store/deduplication.scm (get-temp-link)<docstring>: Likewise.
| Tobias Geerinckx-Rice |
2019-04-25 | self: Install 'guix.zh_CN.info'....Reported by Julien Lepiller.
* guix/self.scm (info-manual): Adjust file name regexp so that it
matches *.zh_CN.texi.
| Ludovic Courtès |
2019-04-23 | guix system: Compute 'bootcfg' only for 'init' and 'reconfigure'....Previously, 'guix system vm' would start by computing the bootcfg
derivation, which itself depended on an incorrect OS derivation (for the
original OS instead of the one passed through
'virtualized-operating-system'.) That added overhead and would force
the user's config file to define a root file system, for example, even
though it makes no sense in the case of a VM.
* guix/scripts/system.scm (perform-action)[bootcfg]: Limit to the 'init'
and 'reconfigure' actions.
| Ludovic Courtès |
2019-04-23 | Merge branch 'master' into staging | Marius Bakke |
2019-04-22 | pull: Create profile after the store connection has been opened....Fixes <https://bugs.gnu.org/35341>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.
Previously, we'd call 'ensure-default-profile' before the connection to
the daemon has been opened. On the first connection, the daemon ensures
that /var/guix/profiles/per-user is world-writable. Since we were
calling 'ensure-default-profile' before that,
/var/guix/profiles/per-user was typically non-writable (555 and
root-owned), and thus 'guix pull' would error out.
* guix/scripts/pull.scm (guix-pull): Call 'ensure-default-profile'
within 'with-store'.
| Ludovic Courtès |
2019-04-22 | pull: Add '--news'....Suggested by Tobias Geerinckx-Rice <me@tobias.gr>.
* guix/scripts/pull.scm (%options, show-help): Add '--news'.
(display-profile-news): Add #:current-is-newer? and #:concise?.
Honor them.
(build-and-install): Pass #:concise? #t.
(display-new/upgraded-packages)[concise/max-item-count]: New variable.
Add call to 'display-hint'.
(process-query): Add clause for 'display-news'.
* doc/guix.texi (Invoking guix pull): Add '--news'.
| Ludovic Courtès |
2019-04-19 | guix build: Accept multiple '-s' options....* guix/scripts/build.scm (%default-options): Remove 'system'.
(%options) <--system>: Keep previous occurrences of 'system in RESULT.
(options->derivations)[system]: Remove.
[systems, things-to-build]: New variables.
[compute-derivation]: New procedure.
Iterate on all of SYSTEMS to compute the derivations of THINGS-TO-BUILD.
* tests/guix-build.sh: Add test for one and multiple '-s' flags.
* doc/guix.texi (Additional Build Options): Document this behavior.
| Ludovic Courtès |
2019-04-18 | guile-build-system: Support building in parallel....* guix/build/guile-build-system.scm (build): Use invoke-each, instead of
for-each, to use multiple cores if available.
(invoke-each, report-build-process): New procedures.
| Christopher Baines |
2019-04-18 | lint: 'check-github-url' uses our own 'open-connection-for-uri'....Fixes <https://bugs.gnu.org/35053>.
Reported by Efraim Flashner <efraim@flashner.co.il>.
Previously 'check-github-url' would let Guile 2.2's (web client) module
take care of opening the connection. Consequently, it wouldn't use the
TLS priority strings that we use in (guix build download),
'open-connection-for-uri'. In particular, it would not disable TLSv1.3,
which would trigger <https://bugs.gnu.org/34102> for github.com.
* guix/scripts/lint.scm (check-github-url): Add #:timeout parameter.
[follow-redirect]: Change parameter name to 'url' and pass it to
'string->uri'. Call 'guix:open-connection-for-uri' to open the
connection and pass it to 'http-head' via #:port.
| Ludovic Courtès |
2019-04-17 | pull: '--url', '--commit', and '--branch' apply to the 'guix' channel....Suggested by pkill9 <pkill9@runbox.com>.
* guix/scripts/pull.scm (channel-list): Apply REF and URL to the 'guix'
channel.
* doc/guix.texi (Invoking guix pull): Adjust accordingly.
| Ludovic Courtès |
2019-04-17 | build: No longer substitute 'LIBGCRYPT'....This had become useless since ca719424455465fca4b872c371daf2a46de88b33.
* configure.ac (LIBGCRYPT): Remove.
* guix/config.scm.in (%libgcrypt): Remove.
| Ludovic Courtès |
2019-04-17 | self: Remove unused variable....This variable is unused since commit
45779fa676419de8838cb26b6c7a24678a2be1cd.
* guix/self.scm (%dependency-variables): Remove.
* build-aux/build-self.scm (%dependency-variables): Remove.
| Ludovic Courtès |
2019-04-17 | Merge branch 'master' into staging | Marius Bakke |
2019-04-16 | store: Add "add-data-to-store-cache" profiling component....* guix/store.scm (add-data-to-store): Define 'lookup' and use it instead
of 'hash-ref'.
| Ludovic Courtès |