summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2019-05-29publish: Factorize 'compress-nar'.Ludovic Courtès
* guix/scripts/publish.scm (compress-nar): New procedure. (bake-narinfo+nar): Use it.
2019-05-29publish: Remove outdated comment.Ludovic Courtès
* guix/scripts/publish.scm (make-request-handler): Remove outdated TODO.
2019-05-28import: cran: Ignore invalid packages from the system requirements.Ricardo Wurmus
* guix/import/cran.scm (description->package): Filter invalid packages from the list of system requirements.
2019-05-28self: Fix unquoting.Ricardo Wurmus
This is a follow-up to commit dfc69e4b6d4bbc41a4d37b3cc6ea12adb34aaafa. * guix/self.scm (whole-package): Unquote %storedir in the daemon wrapper.
2019-05-27publish: Display the compression method and level in use.Ludovic Courtès
* guix/scripts/publish.scm (guix-publish): Use 'info' instead of 'format' for the initial message. When COMPRESSION is true, display the method and level in use.
2019-05-27lzlib: 'lzread!' never returns more than it was asked for.Ludovic Courtès
Fixes a bug whereby 'lzread!' could return more than COUNT. * guix/lzlib.scm (lzread!): Rewrite in a semi-functional style.
2019-05-27self: Add dependency on lzlib.Ludovic Courtès
* guix/self.scm (compiled-guix): Pass #:lzlib to 'make-config.scm'. (make-config.scm): Add #:lzlib and honor it. (specification->package): Add "lzlib".
2019-05-27publish: Add support for lzip.Ludovic Courtès
* guix/scripts/publish.scm (show-help, %options): Support '-C METHOD' and '-C METHOD:LEVEL'. (default-compression): New procedure. (bake-narinfo+nar): Add lzip. (nar-response-port): Likewise. (string->compression-type): New procedure. (make-request-handler): Generalize /nar/gzip handler to handle /nar/lzip as well. * tests/publish.scm ("/nar/lzip/*"): New test. ("/*.narinfo with lzip compression"): New test. * doc/guix.texi (Invoking guix publish): Document it. (Requirements): Mention lzlib.
2019-05-27utils: Support compression and decompression with lzip.Ludovic Courtès
* guix/utils.scm (lzip-port): New procedure. (decompressed-port, compressed-port, compressed-output-port): Add 'lzip case. * tests/utils.scm <top level>: Call 'test-compression/decompression' for 'lzip as well.
2019-05-27lzlib: Add 'make-lzip-input-port/compressed'.Ludovic Courtès
* guix/lzlib.scm (lzwrite!, make-lzip-input-port/compressed): New procedures. * tests/lzlib.scm ("make-lzip-input-port/compressed"): New test. * guix/tests.scm (%seed): Export.
2019-05-27lzlib: Adjust 'lz-compress-read' docstring.Ludovic Courtès
* guix/lzlib.scm (lz-compress-read): The integer return can be zero; adjust docstring accordingly.
2019-05-26import: hackage: Fix Cabal test.Ludovic Courtès
* guix/import/hackage.scm (hackage->guix-package): Remove call to 'memoize'. (hackage->guix-package/m): New procedure. (hackage-recursive-import): Use it. * tests/hackage.scm ("hackage->guix-package test 6"): Adjust. Co-authored-by: Robert Vollmert <rob@vllmrt.net>
2019-05-26discovery: 'all-modules' returns modules in path order.Robert Vollmert
A particular effect of this is that if there are ambiguous packages in a directory specified with `-L module_dir` and the distribution, the version from `module_dir` will be loaded, which is usually what would be expected. (E.g. for `guix build` or `guix package -i`.) * guix/discovery.scm (all-modules): Return modules in path order. * tests/guix-package.sh: Test local definitions take precedence. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-05-26self: 'guix-daemon' honors %localstatedir, %sysconfdir, and %storedir.Ludovic Courtès
Fixes <https://bugs.gnu.org/35874>. Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>. Previously, the 'guix-daemon' program provided by 'guix pull' would systematically use default directory locations for these. * guix/self.scm (whole-package)[wrap]: Set GUIX_STATE_DIRECTORY, GUIX_CONFIGURATION_DIRECTORY, and NIX_STORE_DIR.
2019-05-26import: hackage: Recognize "BSD-3-Clause" and "PublicDomain".Robert Vollmert
* guix/import/hackage.scm (string->license): Add two licenses. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2019-05-26store: Fix 'hash-part->path' docstring.Ludovic Courtès
* guix/store.scm (hash-part->path): Adjust docstring to match reality.
2019-05-26publish: Maintain a hash-part-to-store-item mapping in cache.Ludovic Courtès
Fixes <https://bugs.gnu.org/33897>. * guix/scripts/publish.scm (hash-part-mapping-cache-file) (hash-part->path*): New procedures. * guix/scripts/publish.scm (render-narinfo/cached)[delete-entry]: Delete the 'hash-part-mapping-cache-file'. Use 'hash-part->path*' instead of 'hash-part->path'. * tests/publish.scm ("with cache, vanishing item"): New test.
2019-05-23import: cran: Ignore invalid packages.Ricardo Wurmus
* guix/import/cran.scm (invalid-packages): New variable. (description->package): Use it.
2019-05-22weather: Accept package specs on the command line.Ludovic Courtès
Previously, non-option arguments would be ignored. Now it puts them to good use. * guix/scripts/weather.scm (guix-weather)[package-list]: New procedure. Use it. * doc/guix.texi (Invoking guix weather): Adjust accordingly.
2019-05-22pack: Warn when building an empty pack.Ludovic Courtès
* guix/scripts/pack.scm (guix-pack): Warn when MANIFEST has zero entries.
2019-05-22pack: Add '--root'.Ludovic Courtès
* guix/scripts/pack.scm (%options, show-help): Add "--root". (guix-pack): Honor it. * tests/guix-pack.sh: Test it. * doc/guix.texi (Invoking guix pack): Document it.
2019-05-20self: Remove unused variables.Ludovic Courtès
* guix/self.scm (info-manual)[po4a, gettext]: Remove.
2019-05-16guix system: Type-check the file or expression.Ludovic Courtès
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.
2019-05-15docker: 'build-docker-image' accepts an optional #:entry-point.Ludovic Courtès
* guix/docker.scm (config): Add #:entry-point and honor it. (build-docker-image): Likewise.
2019-05-15import: github: Sort releases before picking the latest one.Arun Isaac
* guix/import/github.scm (latest-released-version): Sort releases before picking the first one as the latest.
2019-05-15import: github: Improve readability.Arun Isaac
* guix/import/github.scm (latest-released-version)[release->version]: Separate out release->version as a new function.
2019-05-14guix build: Gracefully handle invalid '--with-git-url' specs.Ludovic Courtès
* guix/scripts/build.scm (transform-package-source-git-url): Add case for when 'string-split' does not return exactly two elements.
2019-05-13vm: Auto-detect if inputs should be registered.Maxim Cournoyer
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.
2019-05-14linux-container: Support container network sharing.Arun Isaac
* 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>
2019-05-13download: Support 'https_proxy'.宋文武
* guix/build/download.scm (setup-http-tunnel): New procedure. (open-connection-for-uri): Honor the 'https_proxy' environment variable.
2019-05-12gnu-maintenance: Update URL for package databases.Ludovic Courtès
The databases migrated away from the Womb a couple of days ago. * guix/gnu-maintenance.scm (%gnumaint-base-url): Update URL.
2019-05-10build/cargo-utils: Remove "src-name" parameter.Ivan Petkov
* 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>
2019-05-09syscalls: Add 'arp-network-interface?'.Marius Bakke
* guix/build/syscalls.scm (IFF_NOARP): New variable. (arp-network-interface?): New public procedure.
2019-05-09pull: Display 'hash guix' hint when the new and old 'guix' are different.Ludovic Courtès
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.
2019-05-09ui: Make package outputs searchable.Chris Marusich
* 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>
2019-05-09Add (guix bzr-download).Maxim Cournoyer
* 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.
2019-05-07guix: Simplify and robustify lzread!.Pierre Neidhardt
* 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).
2019-05-07environment: Non ad-hoc mode also honors transformation options.Ludovic Courtès
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.
2019-05-06Add (guix lzlib).Pierre Neidhardt
* 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>
2019-05-05build: go-build-system: Follow-up to commit f42e4ebb56.Maxim Cournoyer
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.
2019-05-05build: go-build-system: Follow-up commit.Maxim Cournoyer
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.
2019-05-05build: go-build-system: Ensure uniform unpacking directory.Maxim Cournoyer
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.
2019-05-05build: go-build-system: Use WHEN for side-effect conditionals.Maxim Cournoyer
* guix/build/go-build-system.scm (unpack): Replace single branch `if' by `when'.
2019-05-05build: go-build-system: Re-ident.Maxim Cournoyer
* guix/build/go-build-system.scm (unpack): Fix indentation.
2019-05-06guix: Update to Bioconductor 3.9.Ricardo Wurmus
* guix/build-system/r.scm (bioconductor-uri): Use 3.9 archive URL. * guix/import/cran.scm (%bioconductor-version): Update to 3.9.
2019-05-02Merge branch 'version-1.0.0'Ludovic Courtès
2019-05-01build: Change default substitute server to "ci.guix.gnu.org".Ludovic Courtès
* 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".
2019-04-30guix: Fix another typo in another docstring.Tobias Geerinckx-Rice
* guix/build/clojure-utils.scm (include-list\exclude-list)<docstring>: Fix typo.
2019-04-30guix: Fix typo in docstring.Tobias Geerinckx-Rice
* guix/build/syscalls.scm (device-in-use?)<docstring>: Fix typo.
2019-04-29processes: Gracefully handle daemons without clients.Ludovic Courtès
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'.