summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* build-system/perl: Don't create non-deterministic 'perllocal.pod' files.Marius Bakke2016-11-28
| | | | | * guix/build/perl-build-system.scm (configure): Add "NO_PERLLOCAL=1" to Makefile.PL arguments.
* Merge branch 'master' into core-updatesLeo Famulari2016-11-26
|\
| * offload: Drop 'remote-pipe'.Ludovic Courtès2016-11-25
| | | | | | | | | | * guix/scripts/offload.scm (remote-pipe): Remove. (machine-load): Use 'open-remote-pipe*' instead of 'remote-pipe'.
| * offload: Rewrite to make direct RPCs to the remote daemon.Ludovic Courtès2016-11-25
| | | | | | | | | | | | | | | | | | | | * guix/scripts/offload.scm (<build-machine>)[daemon-socket]: New field. (connect-to-remote-daemon): New procedure. (%gc-root-file, register-gc-root, remove-gc-roots, offload): Remove. (transfer-and-offload): Rewrite using 'connect-to-remote-daemon' and RPCs over SSH. (store-import-channel, store-export-channel): New procedures. (send-files, retrieve-files): Rewrite using these.
| * offload: Remove 'with-nar-error-handling' macro.Ludovic Courtès2016-11-25
| | | | | | | | | | * guix/scripts/offload.scm (with-nar-error-handling): Remove. (guix-offload): Use 'with-error-handling' instead.
| * store: 'open-connection' can taken an open port.Ludovic Courtès2016-11-25
| | | | | | | | | | * guix/store.scm (open-unix-domain-socket): New procedure. (open-connection): Add #:port parameter and honor it.
| * offload: Reuse SSH session during 'transfer-and-offload'.Ludovic Courtès2016-11-25
| | | | | | | | | | | | | | | | | | | | | | * guix/scripts/offload.scm (remote-pipe): Replace 'machine' parameter with 'session'. Remove 'open-ssh-session' call. (register-gc-root): Replace 'machine' with 'session'. Use ' session-get' instead of 'build-machine-name'. (remove-gc-roots, offload, send-files, retrieve-files): Likewise. (transfer-and-offload): Add 'open-ssh-session' call. Handle 'offload' errors here. (machine-load): Add call to 'open-ssh-session'.
| * offload: Use Guile-SSH instead of GNU lsh.Ludovic Courtès2016-11-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/offload.scm (<build-machine>)[ssh-options]: Remove. [host-key, host-key-type]: New fields. (%lsh-command, %lshg-command, user-lsh-private-key): Remove. (user-openssh-private-key, private-key-from-file*): New procedures. (host-key->type+key, open-ssh-session): New procedures. (remote-pipe): Remove 'mode' parameter. Rewrite in terms of 'open-ssh-session' etc. Update users. (send-files)[missing-files]: Rewrite using the bidirectional channel port. Remove call to 'call-with-compressed-output-port'. (retrieve-files): Remove call to 'call-with-decompressed-port'. (machine-load): Remove exit status logic. * doc/guix.texi (Requirements): Mention Guile-SSH. (Daemon Offload Setup): Document 'host-key' and 'private-key'. Show the default value on each @item line. * m4/guix.m4 (GUIX_CHECK_GUILE_SSH): New macro. * config-daemon.ac: Use 'GUIX_CHECK_GUILE_SSH'. Set 'HAVE_DAEMON_OFFLOAD_HOOK' as a function of that.
* | build-system/gnu: Make libraries writable before stripping.Marius Bakke2016-11-26
|/ | | | | * guix/build/gnu-build-system.scm (strip)[strip-dir]: Change mode of files before running strip-command.
* syscalls: Add 'add-network-route/gateway' and 'delete-network-route'.Ludovic Courtès2016-11-21
| | | | | | | | | * guix/build/syscalls.scm (SIOCADDRT, SIOCDELRT): New variables. (%rtentry): New C struct. (RTF_UP, RTF_GATEWAY, %sockaddr-any): New variables. (add-network-route/gateway, delete-network-route): New procedures. * tests/syscalls.scm ("add-network-route/gateway") ("delete-network-route"): New tests.
* syscalls: Add 'c-struct-field-offset'.Ludovic Courtès2016-11-21
| | | | | | * guix/build/syscalls.scm (define-c-struct-macro): New macro. (define-c-struct): Use it. (c-struct-field-offset): New macro.
* lint: Add 'mirror-url' checker.Ludovic Courtès2016-11-19
| | | | | | | | | | * guix/scripts/lint.scm (origin-uris): New procedure. (check-source): Use it. (check-mirror-url): New procedure. (%checkers): Add 'mirror-url' checker. * tests/lint.scm ("mirror-url") ("mirror-url: one suggestion"): New tests. * doc/guix.texi (Invoking guix lint): Document it.
* store: Add 'references*'.Ludovic Courtès2016-11-19
| | | | | | | | | | | * guix/store.scm (references*): New procedure. * guix/profiles.scm (manifest-lookup-package)[references*]: Remove. * guix/scripts/system.scm (references*): Remove. * tests/gexp.scm ("gexp->file", "gexp->file + file-append") ("gexp->derivation", "gexp->derivation, cross-compilation") ("gexp->derivation, ungexp + ungexp-native") ("scheme-file", "text-file*", "mixed-text-file"): Remove 'references*' instead of (store-lift references).
* derivations: Add 'raw-derivation'.Ludovic Courtès2016-11-19
| | | | | | * guix/derivations.scm (raw-derivation): New procedure. * guix/download.scm (raw-derivation): Remove. * guix/gexp.scm (raw-derivation): Remove.
* download: Do not offload 'builtin:download' derivations.Ludovic Courtès2016-11-18
| | | | * guix/download.scm (built-in-download): Pass #:local-build? #t.
* guix package: Display newline after generation diffs.Roel Janssen2016-11-17
| | | | * guix/ui.scm (display-profile-content-diff): Display an extra newline.
* syscalls: 'configure-network-interface' has a #:netmask parameter.Ludovic Courtès2016-11-17
| | | | | * guix/build/syscalls.scm (configure-network-interface): Add #:netmask keyword parameter and honor it.
* syscalls: Add bindings for SIOCGIFNETMASK and SIOCSIFNETMASK.Ludovic Courtès2016-11-16
| | | | | | | | | * guix/build/syscalls.scm (SIOCGIFNETMASK, SIOCSIFNETMASK): New variables. (set-network-interface-netmask, network-interface-netmask): New procedures. * tests/syscalls.scm ("network-interface-netmask lo") ("set-network-interface-netmask"): New tests.
* syscalls: Use 'define-c-struct' for 'struct ifconf'.Ludovic Courtès2016-11-16
| | | | | | | | * guix/build/syscalls.scm (ifconf-struct): Remove. (%ifconf-struct): New C struct. (network-interface-names): Use 'make-bytevector' and 'write-ifconf!' instead of 'make-c-struct', and 'read-ifconf' instead of 'parse-c-struct'.
* syscalls: C struct writer correctly handles pointer fields.Ludovic Courtès2016-11-16
| | | | * guix/build/syscalls.scm (write-type): Add case for '*.
* download: Use the built-in 'download' builder when available.Ludovic Courtès2016-11-16
| | | | | | | | | | | Fixes <http://bugs.gnu.org/22774>. Reported by Christopher W Carpenter. * guix/download.scm (built-in-builders*, raw-derivation) (built-in-download): New procedures. (in-band-download): New procedure, with code formerly in 'url-fetch'. (url-fetch): Call 'built-in-builders*' and dispatch between 'built-in-download' and 'in-band-download'.
* daemon: Add 'built-in-builders' RPC.Ludovic Courtès2016-11-16
| | | | | | | | | | | | * nix/libstore/builtins.cc (builtinBuilderNames): New function. * nix/libstore/builtins.hh (builtinBuilderNames): New declaration. * nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump to 0x160. (WorkerOp)[wopBuiltinBuilders]: New value. * nix/nix-daemon/nix-daemon.cc (performOp): Handle it. * guix/store.scm (operation-id)[built-in-builders]: New value. * guix/store.scm (read-arg): Add 'string-list'. (built-in-builders): New procedure. * tests/derivations.scm ("built-in-builders"): New test.
* daemon: Add "builtin:download" derivation builder.Ludovic Courtès2016-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | This ensures that 1) the derivation doesn't change when Guix changes; 2) the derivation closure doesn't contain Guix and its dependencies; 3) we don't have to rely on ugly chroot hacks. Adapted from Nix commit 0a2bee307b20411f5b0dda0c662b1f9bb9e0e131. * nix/libstore/build.cc (DerivationGoal::runChild): Add special case for 'isBuiltin(drv)'. Disable chroot when 'isBuiltin(drv)'. * nix/libstore/builtins.cc, nix/libstore/builtins.hh, nix/scripts/download.in, guix/scripts/perform-download.scm: New files. * guix/ui.scm (show-guix-help)[internal?]: Add 'perform-download'. * nix/local.mk (libstore_a_SOURCES): Add builtins.cc. (libstore_headers): Add builtins.hh. (nodist_pkglibexec_SCRIPTS): Add 'scripts/download'. * config-daemon.ac: Emit 'scripts/download'. * Makefile.am (MODULES): Add 'guix/scripts/perform-download.scm'. * tests/derivations.scm ("unknown built-in builder") ("'download' built-in builder") ("'download' built-in builder, invalid hash") ("'download' built-in builder, not found") ("'download' built-in builder, not fixed-output"): New tests. Co-authored-by: Eelco Dolstra <eelco.dolstra@logicblox.com>
* tests: Move HTTP server to (guix tests http).Ludovic Courtès2016-11-16
| | | | | | | | | | | | | * tests/lint.scm (%http-server-port, %local-url) (%http-server-socket, http-write, %http-server-lock) (%http-server-ready, http-open, stub-http-server) (call-with-http-server, with-http-server): Move to (guix tests http). Adjust tests for %HTTP-SERVER-SOCKET as a promise and %LOCAL-URL as a parameter. * guix/tests/http.scm: New file. * Makefile.am (dist_noinst_DATA): Add it. (GOBJECTS): Add .go files for all of $(dist_noinst_DATA). (make-go): Depend on $(dist_noinst_DATA).
* guix download: Add '-o' option.Ludovic Courtès2016-11-16
| | | | | | | | | | | * guix/scripts/download.scm (download-to-file, download-to-store*): New procedures. (%default-options): Add 'download-proc'. (show-help): Adjust description and document '-o'. (%options): Add '-o'. (guix-download): Remove 'store' variable. Add 'fetch' and define 'path' to as its result. * tests/guix-download.sh: Add test.
* import/cpan: Maybe coerce version to string.Alex Sassmannshausen2016-11-14
| | | | | * guix/import/cpan.scm (cpan-module->sexp) <version>: Test if version in meta is string or number. If it is number, coerce to string.
* Merge branch 'core-updates'Ludovic Courtès2016-11-13
|\
| * Merge branch 'master' into core-updatesMark H Weaver2016-11-07
| |\
| * \ Merge branch 'master' into core-updatesMark H Weaver2016-11-06
| |\ \
| * \ \ Merge branch 'master' into core-updatesLeo Famulari2016-11-02
| |\ \ \
| * \ \ \ Merge branch 'master' into core-updatesLeo Famulari2016-10-30
| |\ \ \ \
| * \ \ \ \ Merge branch 'master' into core-updatesLeo Famulari2016-10-29
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch 'master' into core-updatesLeo Famulari2016-10-26
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge branch 'master' into core-updatesMark H Weaver2016-10-23
| |\ \ \ \ \ \ \
| * | | | | | | | gnu-maintenance: GNOME updater honors 'upstream-name' package property.Ludovic Courtès2016-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/gnu-maintenance.scm (latest-gnome-release)[upstream-name]: New variable. Use it as the first argument to 'latest-ftp-release' and when constructing #:directory. * gnu/packages/gnome.scm (gconf)[properties]: New field. (network-manager)[properties]: New field.
| * | | | | | | | Merge branch 'master' into core-updatesMark H Weaver2016-10-19
| |\ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesMark H Weaver2016-10-17
| |\ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesMark H Weaver2016-10-12
| |\ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesLeo Famulari2016-10-05
| |\ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesLeo Famulari2016-10-03
| |\ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | build-system/gnu: Add 'patch-dot-desktop-files' phase.John Darrington2016-10-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/gnu-build-system.scm (patch-dot-desktop-files): New procedure. (%standard-phases): Add it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| * | | | | | | | | | | | | Merge branch 'master' into core-updatesLudovic Courtès2016-09-30
| |\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | build-system/gnu: Do not patch symlinks in the source.Ludovic Courtès2016-09-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a followup to 13a9feb5b64fd819eaed38a17da0284bbe2b8d9. * guix/build/gnu-build-system.scm (patch-source-shebangs): Remove call to 'remove'. Pass a second argument to 'find-files' to filter out symlinks; pass #:stat lstat. (patch-generated-file-shebangs): Likewise, and also filter out non-executable files.
| * | | | | | | | | | | | | | utils: 'wrap-program' produces only one wrapper file.Ludovic Courtès2016-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/utils.scm (wrap-program)[wrapper-file-name] [next-wrapper-number, wrapper-target]: Remove. [wrapped-file, already-wrapped?]: New variables. [last-line]: New procedure. Use it to append to PROG when a wrapper already exists. * tests/build-utils.scm ("wrap-program, one input, multiple calls"): Adjust the list of files to delete.
| * | | | | | | | | | | | | | Merge branch 'master' into core-updatesLudovic Courtès2016-09-02
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | build-system/gnu: 'strip' phase lists files in sorted order.Ludovic Courtès2016-09-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug whereby the choice between stripping 'libfoo.so.0.1.2' and stripping 'libfoo.so' (the symlink) would be non-deterministic. * guix/build/gnu-build-system.scm (strip)[strip-dir]: Use 'find-files' instead of 'file-system-fold' so that files are picked in deterministic order.
| * | | | | | | | | | | | | | | Merge branch 'master' into core-updatesLeo Famulari2016-08-29
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner2016-08-29
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | | | profiles: gtk-icon-themes: Use 'gtk-update-icon-cache' from 'gtk+:bin'.宋文武2016-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a followup to commit 7b808d7. * guix/profiles.scm (gtk-icon-themes): Use 'gtk-update-icon-cache' from the "bin" output of gtk+ package.
| * | | | | | | | | | | | | | | | | Merge branch 'master' into core-updatesLeo Famulari2016-08-17
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \