Age | Commit message (Expand) | Author |
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 |
2018-01-07 | daemon: Add gzip log compression....* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_LOG_COMPRESSION): New macro.
(options): Mark "disable-log-compression" as hidden and add
"log-compression".
(parse_opt): Handle GUIX_OPT_LOG_COMPRESSION.
* nix/libstore/build.cc (DerivationGoal): Add 'gzLogFile'.
(openLogFile): Initialize it when 'logCompression' is COMPRESSION_GZIP.
(closeLogFile, handleChildOutput): Honor 'gzLogFile'.
* nix/libstore/globals.hh (Settings)[compressLog]: Remove.
[logCompression]: New field.
(CompressionType): New enum.
* nix/libstore/globals.cc (Settings::Settings): Initialize it.
(update): Remove '_get' call for 'compressLog'.
* nix/local.mk (guix_daemon_LDADD, guix_register_LDADD): Add -lz.
* guix/store.scm (log-file): Handle '.gz' log files.
* tests/guix-daemon.sh: Add test with '--log-compression=gzip'.
* doc/guix.texi (Invoking guix-daemon): Adjust accordingly.
* config-daemon.ac: Check for libz and zlib.h.
| Ludovic Courtès |
2018-01-07 | ssh: Improve error reporting when retrieving files....'guix copy --from' now reports messages much more useful than "failed to
retrieve files".
* guix/ssh.scm (store-export-channel)[export]: Wrap 'use-modules' in
'catch' and 'with-store' in 'guard'. Check for invalid items. Write a
status sexp on stdout.
(raise-error): New macro.
(retrieve-files): Read the initial status sexp and report errors
accordingly.
| Ludovic Courtès |
2018-01-07 | ui: Display hints that come along with '&message' conditions....* guix/ui.scm (call-with-error-handling): Add case for message and
fix-hint?.
| Ludovic Courtès |
2018-01-06 | publish: Save bandwidth on narinfo 404s....This saves 18 bytes on each 404 narinfo response.
* guix/scripts/publish.scm (render-narinfo): Pass #:phrase to
'not-found'.
(render-narinfo/cached): Likewise.
| Ludovic Courtès |
2018-01-03 | Merge branch 'master' into core-updates | Leo Famulari |
2018-01-01 | ui: It's 2018 now!...* guix/ui.scm (show-version-and-exit): Change year to 2018.
| Ludovic Courtès |
2018-01-01 | build-system/glib-or-gtk: Don't generate 'icon-theme.cache'....* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Don't generate
'icon-theme.cache'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Danny Milosavljevic |
2017-12-31 | Merge remote-tracking branch 'origin/master' into core-updates | Efraim Flashner |
2017-12-31 | build: dub-build-system: Make builds reproducible....* guix/build/dub-build-system.scm (build): Make reproducible.
(check): Make reproducible.
| Danny Milosavljevic |
2017-12-23 | guix build: Support '--with-source=PACKAGE@VERSION=URI'....* guix/scripts/build.scm (numeric-extension?, tarball-base-name): New
procedures, formerly in 'package-with-source'.
(transform-package-source)[new-sources]: Look for '=' in URI. Each
element of the list of now a (PKG VERSION SOURCE) tuple.
Pass VERSION to 'package-with-source'.
(package-with-source): Add 'version' parameter and honor it.
* tests/scripts-build.scm ("options->transformation, with-source, PKG=URI")
("options->transformation, with-source, PKG@VER=URI"): New tests.
* doc/guix.texi (Package Transformation Options): Document the new
forms.
| Ludovic Courtès |
2017-12-22 | guix system: Check mapped devices upon 'init' and 'reconfigure'....* guix/scripts/system.scm (check-mapped-devices): New procedure.
(perform-action): Add call to 'check-mapped-devices'.
| Ludovic Courtès |
2017-12-22 | guix: Exclude broken symlinks from man files....* guix/man-db.scm (man-files): Remove broken symlinks from list of man pages.
| Ricardo Wurmus |
2017-12-21 | Merge branch 'master' into core-updates | Leo Famulari |
2017-12-21 | build-system/gnu: Check whether the cross-libc has a "static" output....This is a followup to 614fffe4270cef308573a6d9cef650f3972875af, which
broke cross-compilation to i686-w64-mingw32.
* guix/build-system/gnu.scm (standard-cross-packages): Add
"cross-libc:static" only when LIBC has a "static" output.
| Ludovic Courtès |
2017-12-20 | build-system/gnu: Add the "static" output of libc in cross environments....Fixes a regression whereby the host libc.a would be missing when
cross-compiling.
This is a followup to commit 6dff905e51202bbdebbad8811b6509584d12a796.
* guix/build-system/gnu.scm (standard-cross-packages): Add the
"cross-libc:static".
| Ludovic Courtès |
2017-12-19 | guix: cmake-build-system: Install libraries to /lib....* guix/build/cmake-build-system.scm (configure): Add flag to always
install libraries in /lib.
| Efraim Flashner |
2017-12-19 | upstream: Reject bogus archive type guesses....This would crash 'guix refresh -u' with source URLs ending in
"…/v1.2.3".
* guix/upstream.scm (package-update): Be stricter when determining
ARCHIVE-TYPE.
| Ludovic Courtès |
2017-12-19 | Merge branch 'master' into core-updates | Marius Bakke |