Age | Commit message (Expand) | Author |
2018-03-01 | import: cpan: Drop "v" prefix from version strings....Fixes <https://bugs.gnu.org/30641>.
Reported by Oleg Pykhalov <go.wigust@gmail.com>.
* guix/import/cpan.scm (cpan-version): Drop the "v" prefix when it is
there.
| Ludovic Courtès |
2018-03-01 | profiles: 'manifest-add' truly deletes duplicate entries....Fixes <https://bugs.gnu.org/30569>.
Reported by Andreas Enge <andreas@enge.fr>.
* guix/profiles.scm (manifest-add): Don't append ENTRIES as is.
Instead, cons each element of ENTRIES as we fold over it.
Remove unneeded ellispes in 'match' patterns.
| Ludovic Courtès |
2018-02-28 | build-system/trivial: Add support for #:allowed-references....* guix/build-system/trivial.scm (lower): Add #:allowed-references and
keep it in the 'arguments' field.
(trivial-build): Add #:allowed-references. Add
'canonicalize-reference'. Pass #:allowed-references to
'build-expression->derivation'.
(trivial-cross-build): Likewise.
* tests/packages.scm ("trivial with #:allowed-references"): New test.
| Ludovic Courtès |
2018-02-27 | guix package: '--search' no longer shows superseded packages....Fixes <https://bugs.gnu.org/30566>.
Reported by Björn Höfling <bjoern.hoefling@bjoernhoefling.de>.
* guix/scripts/package.scm (find-packages-by-description): Ignore
superseded packages.
* tests/guix-package.sh: Add test.
| Ludovic Courtès |
2018-02-26 | build: Require Guile >= 2.0.13....* README, configure.ac, doc/guix.texi (Requirements): Increase minimum
Guile version from 2.0.9 to 2.0.13.
* config-daemon.ac: Remove use of 'GUIX_CHECK_UNBUFFERED_CBIP'.
* m4/guix.m4 (GUIX_CHECK_UNBUFFERED_CBIP): Remove.
* guix/build/download.scm (current-http-proxy): Remove.
* guix/build/syscalls.scm (%libc-errno-pointer, errno): Remove.
(syscall->procedure): Use #:return-errno unconditionally.
* guix/hash.scm (open-sha256-input-port)[unbuffered]: Remove outdated
comment.
* guix/http-client.scm (when-guile<=2.0.5-or-otherwise-broken): Remove.
<top level>: Remove 'when-guile<=2.0.5-or-otherwise-broken' block.
* guix/scripts/substitute.scm (fetch): Remove 'guile-version>?'
conditional.
* tests/hash.scm (supports-unbuffered-cbip?): Remove.
<top level>: Remove 'test-skip' call.
| Ludovic Courtès |
2018-02-21 | environment: Add --manifest option....* guix/scripts/environment.scm (show-help, %options): Add -m/--manifest.
(options/resolve-packages): Handle manifests.
* tests/guix-envronment.sh: Add a test.
* doc/guix.texi (Invoking guix environment): Document it.
| David Thompson |
2018-02-16 | Merge branch 'master' into core-updates | Mark H Weaver |
2018-02-16 | import: utils: 'alist->package' allows false license....Reported by <pkill9@runbox.com>.
Fixes <https://bugs.gnu.org/30470>.
* guix/import/utils.scm (alist->package): Check whether 'license' is
false and set the 'license' field to #f in this case.
* tests/import-utils.scm ("alist->package with false license"): New
test.
| Ludovic Courtès |
2018-02-16 | pack: Adjust '--manifest' documentation....Reported by Konrad Hinsen <konrad.hinsen@fastmail.net>.
* guix/scripts/pack.scm (show-help): Adjust --manifest documentation.
| Ludovic Courtès |
2018-02-15 | union: Wrap collisions with newlines....* guix/build/union.scm (union-build): Wrap collisions with newlines.
| Oleg Pykhalov |
2018-02-15 | pack: Add '--manifest'....* guix/scripts/pack.scm (%options, show-help): Add --manifest.
(guix-pack)[manifest-from-args]: New procedure.
Use it.
* doc/guix.texi (Invoking guix pack): Document --manifest.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Konrad Hinsen |
2018-02-11 | Merge branch 'master' into core-updates | Mark H Weaver |
2018-02-10 | licenses: Add W3C license....* gnu/license.scm (w3c): New variable.
| Björn Höfling |
2018-02-09 | ssh: Work around 'select' bug in Guile....Fixes <https://bugs.gnu.org/30365>.
* guix/ssh.scm (remote-daemon-channel)[redirect]: Define 'select*' and
use it.
| Ludovic Courtès |
2018-02-09 | Merge branch 'master' into core-updates | Mark H Weaver |
2018-02-05 | emacs-build-system: Do not patch files containing NULs....This is a temporary workaround for <https://bugs.gnu.org/30116>, where
'substitute*' throws on files containing NUL characters.
* guix/build/emacs-build-system.scm (patch-el-files): Filter out elisp files
that contain NUL characters.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2018-02-05 | emacs-build-system: Reinstate the check phase....* guix/build/emacs-build-system.scm (%standard-phases): Reinstate the check
phase from the gnu-build-system.
* guix/build-system/emacs.scm (emacs-build)[tests?]: But do not enable it by default.
[parallel-tests?]: Add argument.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2018-02-05 | emacs-build-system: Add set-emacs-load-path phase....This generalizes the mechanism by which the Emacs dependencies are made visible,
so that any build phase can make use of them.
* guix/build/emacs-build-system.scm (%legacy-install-suffix): New variable.
(%install-suffix): Redefine in terms of %legacy-install-suffix.
(set-emacs-load-path): Add new phase used for dependency resolution.
(build): Remove ad-hoc dependency discovery mechanism.
(emacs-input->el-directory): Add new procedure.
(emacs-inputs-el-directories): Use it.
(package-name-version->elpa-name-version): Fix typo.
(%standard-phases): Include the new `set-emacs-load-path' phase. Refactor to
make the ordering of the phases clearer.
* guix/build/emacs-utils.scm (emacs-byte-compile-directory): Remove the
optional `dependency-dirs' argument, which is now obsoleted by the
`set-emacs-load-path' phase.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2018-02-01 | Merge branch 'master' into core-updates | Marius Bakke |
2018-01-28 | download: Fix return value of the url-fetch procedure....Fixes <https://bugs.gnu.org/30270>.
Regression was introduced by commit 347fa4aebf.
* guix/build/download.scm (url-fetch): Return `file' instead of #t upon success.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2018-01-26 | Merge branch 'master' into core-updates | Mark H Weaver |
2018-01-26 | build-system/dub: Fix typo....* guix/build/dub-build-system.scm (grep, grep*): Correct ‘occurence’.
| Tobias Geerinckx-Rice |
2018-01-23 | Merge branch 'master' into core-updates | Mark H Weaver |
2018-01-22 | publish: Restore gzip compression in cache-less mode....Fixes <https://bugs.gnu.org/30184>.
Regression introduced in 297e04d66010ada31a40f40143d81bf6b62affcc.
Reported by Christopher Baines <mail@cbaines.net>.
* guix/scripts/publish.scm (nar-response-port): Add 'compression'
parameter and honor it.
(http-write): Get 'x-nar-compression' from the initial RESPONSE.
| Ludovic Courtès |
2018-01-21 | services: shepherd: Make 'shepherd-configuration-file' non-monadic....Suggested by atw on #guix.
* gnu/services/shepherd.scm (shepherd-service-file): Use 'scheme-file'
instead of 'gexp->file'.
(shepherd-configuration-file): Likewise, and adjust to non-monadic
style.
(shepherd-boot-gexp): Adjust accordingly.
* guix/scripts/system.scm (upgrade-shepherd-services): Use
'lower-object' in addition to 'shepherd-service-file'.
| Ludovic Courtès |
2018-01-19 | Merge branch 'master' into core-updates | Mark H Weaver |
2018-01-20 | packages: 'package-mapping' maps replacement....* guix/packages.scm (package-mapping): Apply PROC to 'replacement' as well.
| Ludovic Courtès |
2018-01-19 | gnu: Consistently Write ‘file system(s)’....It is the GNU way.
* doc/guix.texi (Build Systems, DNS Services): Write ‘file system(s)’.
* gnu/build/vm.scm (create-ext-file-system, create-fat-file-system):
Likewise.
* gnu/packages/backup.scm (dirvish, rsnapshot)[description]: Likewise.
* gnu/packages/check.scm (python-testpath)[description]: Likewise.
* gnu/packages/disk.scm (pydf)[description]: Likewise.
* gnu/packages/file-systems.scm (disorderfs)[synopsis, description]: Likewise.
(glusterfs)[description]: Likewise.
* gnu/packages/haskell.scm (ghc-directory, ghc-system-fileio-bootstrap)
(ghc-system-fileio)[synopsis]: Likewise.
(ghc-fsnotify)[description]: Likewise.
* gnu/packages/linux.scm (proot)[description]: Likewise.
(jmtpfs)[synopsis, description]: Likewise.
* gnu/packages/mate.scm (caja, caja-extensions)[description]: Likewise.
* gnu/packages/storage.scm (ceph)[description]: Likewise.
* gnu/packages/sync.scm (lsyncd)[description]: Likewise.
* gnu/packages/syncthing.scm (syncthing)[synopsis]: Likewise.
(go-github-com-zillode-notify)[description]: Likewise.
* gnu/services/nfs.scm (pipefs-service-type): Likewise.
* guix/scripts/system.scm (perform-action): Likewise.
| Tobias Geerinckx-Rice |
2018-01-18 | gnu: commencement: Memoize 'linux-libre-headers-boot0'....Fixes <https://bugs.gnu.org/30155>.
The effect can be seen in the package graph produced by:
guix graph -e '(@@ (gnu packages commencement) static-bash-for-glibc)'
This reduces the number of "duplicate" nodes in this graph, i.e.,
distinct package objects that correspond to the same derivation (objects
that are not 'eq?' but semantically equal.)
* gnu/packages/commencement.scm (linux-libre-headers-boot0): Make an
'mlambda' instead of a 'lambda'.
(hurd-core-headers-boot0): Ditto.
| Ludovic Courtès |
2018-01-15 | ui: Disable '%fresh-auto-compile' only for Guile 2.2.3....Mitigates <https://bugs.gnu.org/29881>.
Reported by Diego Nicola Barbato <dnbarbato@posteo.de>.
* guix/ui.scm (load*): Unset '%fresh-auto-compile' only on Guile 2.2.3.
| Ludovic Courtès |
2018-01-15 | offload: Look at machine loads for the past minute....Previously we were looking at the load of the past 5 minutes, which
means that, after a build, we could end up waiting for 5 minutes for
that metric to be low enough.
* guix/scripts/offload.scm (machine-load): Compute RAW based on ONE, not
FIVE.
| Ludovic Courtès |
2018-01-15 | ruby-build-system: Fix build error....* gnu/build/ruby-build-system.scm: Import (ice-9 rdelim).
Follow-up to d9df4bf055f2bef8c2c428db34c5fa056bdeba73.
| Danny Milosavljevic |
2018-01-14 | ruby-build-system: Add a new wrap phase....Wrap files in bin/ and sbin/ with the location of the gem itself and the
location of any other gems in use (GEM_PATH). This ensures that the bin files
will run with the right environment when executed.
It does however mean that native-inputs will also get wrapped up in any
binaries, which is not good, as it increases the size of the closure, and
risks this code being used at runtime.
* guix/build/ruby-build-system.scm (wrap): New procedure.
(%standard-phases): Add the wrap phase.
| Christopher Baines |
2018-01-14 | ruby-build-system: Add wrap-ruby-program....A modified copy of wrap-program from (guix build utils). The wrap-program
procedure doesn't work well for Ruby scripts, as it breaks using the -S flag
with ruby to execute the script, as when -S is passed to ruby, it expects the
script on the PATH to use ruby in the shebang, and not bash.
Therefore, to wrap the program, but keep the shebang as ruby, wrap it with a
ruby script instead.
wrap-ruby-program uses .real/foo rather than .foo-real, as this might be
neater. This procedure also includes a call to Gem.clear_paths to make it
possible to set the GEM_PATH through this method, and for it to take effect.
* gnu/build/ruby-build-system.scm (wrap-ruby-program): New procedure.
| Christopher Baines |
2018-01-14 | guix: build: ruby-build-system: Install to the vendor directory...* guix/build/ruby-build-system.scm (install): Install gems to the vendor
directory, rather than the GEM_HOME. The vendor directory does not include
the version of ruby used to install the gem in the path, which makes it
easier to add it to the GEM_PATH for all versions of ruby to use.
(gem-home): Remove procedure.
* gnu/packages/ruby.scm (ruby, ruby-2.1)[native-search-paths]: Switch to
lib/ruby/vendor_ruby.
(ruby-1.8)[native-search-paths]: Remove native-search-paths.
(gem-directory): Remove procedure.
(ruby-ansi, ruby-ae)[arguments]: Remove use of gem-directory.
(ruby-metaclass, ruby-instantiator, ruby-introspection, ruby-mocha,
ruby-nokogiri, ruby-minitest-tu-shim, ruby-redcloth)[arguments]: Remove use
of gem-home.
(ruby-git, ruby-httpclient)[arguments]: Remove use of GEM_HOME.
* gnu/packages/databases.scm (es-dump-restore)[arguments]: Remove use of
GEM_HOME.
| Christopher Baines |
2018-01-12 | ssh: Switch back to 'get-bytevector-some'....This mostly reverts 17af5d51de7c40756a4a39d336f81681de2ba447.
Suggested by Andy Wingo <wingo@igalia.com>.
* guix/ssh.scm (remote-daemon-channel)[redirect]: Remove 'read!' FFI
hack. Use buffered ports.
| Ludovic Courtès |
2018-01-12 | offload: 'test' reports Guile and module errors more nicely....Fixes <https://bugs.gnu.org/26008>.
Reported by Myles English <mylesenglish@gmail.com>.
* guix/ssh.scm (retrieve-files*): Move error reporting to...
(report-guile-error, report-module-error): ... here. New procedures.
* guix/scripts/offload.scm (assert-node-repl): Use 'report-guile-error'.
(assert-node-has-guix): Explicitly check for 'use-modules' first. Use
'report-module-error'.
| Ludovic Courtès |
2018-01-12 | offload: 'test' gracefully handles 'node-repl-error'....Fixes <https://bugs.gnu.org/28057>.
Reported by Ricardo Wurmus <rekado@elephly.net>.
* guix/scripts/offload.scm (assert-node-has-guix): Catch
'node-repl-error' and call 'leave'.
| Ludovic Courtès |
2018-01-12 | ssh: 'retrieve-files' now only retrieves what's missing....* guix/ssh.scm (retrieve-files): Remove the subset of FILES that is
valid in LOCAL.
(store-export-channel): Add comment.
| Ludovic Courtès |
2018-01-12 | offload: Fix regression in file retrieval....This fixes a regression in 'retrieve-files*' introduced in
896fec476f728183b331cbb6e2afb891207b4205, whereby (guix scripts offload)
would not read the initial sexp now sent by the remote host via
'store-export-channel'. This would effectively prevent file retrieval
entirely when offloading.
* guix/ssh.scm (retrieve-files*): New procedure, like former
'retrieve-files' but with an extra #:import parameter.
(retrieve-files): Rewrite in terms of 'retrieve-files*'.
(file-retrieval-port): Make private.
* guix/scripts/offload.scm (transfer-and-offload): Pass #:import to
'retrieve-files*'.
(retrieve-files*): Remove.
| Ludovic Courtès |
2018-01-11 | Merge branch 'master' into core-updates | Leo Famulari |
2018-01-11 | derivations: Fix typo in docstring....* guix/derivations.scm (derivation-prerequisites): Fix typo in docstring.
| Ludovic Courtès |
2018-01-11 | ssh: Pass an empty "exceptfds" set to 'select'....Previously the redirect code could end up exiting prematurely because of
an uninteresting "exceptional condition" on the socket (info "(libc)
Waiting for I/O").
* guix/ssh.scm (remote-daemon-channel): Pass the empty list as the third
argument to 'select'. It was a mistake to pass a non-empty list there
in the first place.
| Ludovic Courtès |
2018-01-11 | store: Fix potential over-reads in 'import-paths'....Previously 'process-stderr' would always pass a bytevector of MAX-LEN to
then daemon in the %stderr-read case (i.e., 'import-paths'), instead of
LEN (where LEN <= MAX-LEN).
In practice the extra bytes didn't cause a protocol violation or
anything because they happen at the end of the stream, which typically
contains the canonical sexp of the signature, and the extra zeros were
just ignored.
* guix/serialization.scm (write-bytevector): Add optional 'l' parameter
and honor it.
* guix/store.scm (process-stderr): Pass LEN to 'write-bytevector'.
| Ludovic Courtès |
2018-01-11 | ssh: Work around 'get-bytevector-some' bug....This works around <https://bugs.gnu.org/30066> and noticeably improves
performance when using GUIX_DAEMON_SOCKET=ssh://HOST (the redirect code
was transferring data to guix-daemon one byte at a time!).
* guix/ssh.scm (remote-daemon-channel)[redirect]: Define 'read!' and use
it instead of 'get-bytevector-some'.
| Ludovic Courtès |
2018-01-10 | gnu: Use one spelling for ‘copyright’....* gnu/packages/gtk.scm: Standardise on ‘copyright’ spelling in
file headers.
* gnu/packages/pdf.scm: Likewise.
* gnu/packages/perl-check.scm: Likewise.
* gnu/packages/perl.scm: Likewise.
* guix/import/gem.scm: Likewise.
* guix/import/hackage.scm: Likewise.
| Tobias Geerinckx-Rice |
2018-01-09 | publish: Remove "Guix-Nar-Compression" header from responses....This was harmless but non-compliant and unnecessary.
* guix/scripts/publish.scm <top level>: Rename "Guix-Nar-Compression" to
"X-Nar-Compression" as should have always been.
(render-nar, nar-response-port): Adjust accordingly.
(strip-headers): New procedure.
(sans-content-length, with-content-length): Use it.
| Ludovic Courtès |
2018-01-08 | import: crate: Gracefully deal with missing license info....Reported by Fis Trivial <ybbs.daans@hotmail.com>.
Fixes <https://bugs.gnu.org/28987>.
* guix/import/crate.scm (crate-fetch): Check whether the "license" info
is present.
| Ludovic Courtès |
2018-01-07 | publish: Publish build logs....* guix/scripts/publish.scm (render-log-file): New procedure.
(make-request-handler): Add "log" case.
* tests/publish.scm ("/log/NAME")
("/log/NAME not found"): New tests.
* doc/guix.texi (Invoking guix publish): Document /log URLs.
| Ludovic Courtès |
2018-01-07 | publish: Use 'x-raw-file' internal response header....This adjusts the workaround for <http://bugs.gnu.org/21093> so that it's
not limited to a single content-type.
* guix/scripts/publish.scm (render-nar/cached): Add the 'x-raw-file'
header on the response.
(render-content-addressed-file): Likewise.
(with-content-length): Remove the 'x-raw-file' header.
(http-write): Instead of dispatching on 'application/octet-stream',
check whether 'x-raw-file' is set to determine whether to spawn a
thread.
| Ludovic Courtès |