summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
...
| | * offload: Call 'machine-load' only once per machine.Ludovic Courtès2016-11-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a longstanding issue where 'choose-build-machine' would make on average O(N log(N)) calls to 'machine-load', plus an extra call for the selected machine, instead of N calls. * guix/scripts/offload.scm (machine-load): Add comment. (machine-power-factor, machine-less-loaded-or-faster?): Remove. (choose-build-machine)[machines+slots]: Rename to... [machines+slots+loads]: ... this. [undecorate]: Adjust accordingly. [machine-less-loaded-or-faster?]: New procedure. Remove extra 'machine-load' call in body.
| | * 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.
| * | Merge branch 'master' into python-build-systemLeo Famulari2016-11-25
| |\|
| * | lint: more packages to probably be a native input.Hartmut Goebel2016-11-15
| | | | | | | | | | | | | | | | | | * guix/scripts/lint.scm (check-inputs-should-be-native package): Add python packages which are typically used for testing or for building the documentation.
| * | guix: Add lint-checker for packages which should be no inputs at all.Hartmut Goebel2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also refactor some common code into a new function. Examples for these pacakges are python(2)-setuptools and python(2)-pip, which are installed together with python itself. * guix/scripts/lint.scm (warn-if-package-has-input): New procedure. (check-inputs-should-be-native package): Use it; rename and clean-up variables. (check-inputs-should-not-be-an-input-at-all): New procedure. (%checkers) Add it. * doc/guix.texi (Python Modules): Document it. * tests/lint.scm: ("inputs: python-setuptools should not be an input at all (input)", "inputs: python-setuptools should not be an input at all (native-input)" "inputs: python-setuptools should not be an input at all (propagated-input)"): Add tests.
| * | guix: python-build-system: Add background about Python installation methods.Hartmut Goebel2016-11-15
| | |
| * | guix: python-build-system: Delete .egg-info file created in phase check.Hartmut Goebel2016-11-15
| | | | | | | | | | | | | | | * guix/build/python-build-system.scm (check): Delete .egg-info dirs which did not exist prior to calling setup.py but afterwards.
| * | guix: python-build-system: Add helpers for getting and setting PYTHONPATH.Hartmut Goebel2016-11-15
| | | | | | | | | | | | | | | * guix/build/python-build-system.scm (add-installed-pythonpath, site-packages): New exported procedures.
| * | guix: python-build-system: Add option "#:use-setuptools?" (default true).Hartmut Goebel2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build-system/python.scm (python-build): New keyword argument "#:use-setuptools?", defaulting to #t. * guix/build/python-build-system.scm (call-setup-py): New positional parameter "use-setuptools?". If false, do not use the shim-wrapper for addin setuptools. (build, check): accept keyword- parameter, and pass to call-setuppy. (install): same; if "use-setuptools?" is false, do not use options "--root" and "--single-version-externally-managed" for setup.py. * doc/guix.texi (Build Systems): Document it.
| * | guix: python-build-system: Import setuptools before calling `setup.py'.Marius Bakke2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed for packages using "distutils" instead of "setuptools" since the former does not understand the "--single-version-externally-managed" flag. Also export __file__ since it will be unset when setup.py is called from python "exec". * guix/build/python-build-system.scm (call-setuppy): extend "python setup.py" call to import setuptools, export __file__, and call setup.py from setuptools python environment. Co-Authored-By: Hartmut Goebel <h.goebel@crazy-compilers.com>
| * | guix: build all Python packages with --single-version-externally-managed.Hartmut Goebel2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This requires setuptools to be installed together with python, which is the case for Python 3 anyway and which we do for our build of Python 2 (see last commit). * guix/build/python-build-system.scm (install): Add "--single-version-externally-managed" and "--root=/" to params to be passed to call-setuppy. Remove thus needless manipulation of PYTHONPATH. Remove now unused argument "inputs".
| * | guix: python-build-system: Fix an outdated comment.Hartmut Goebel2016-11-15
| | |
* | | Merge branch 'master' into stagingLeo Famulari2016-11-23
|\ \ \ | | |/ | |/|
| * | 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.
* / guxi: cmake-build-system: Enable output for failing test-cases.Hartmut Goebel2016-11-15
|/ | | | | * guix/build/cmake-build-system.scm (cmake-build-system): Set environment variable CTEST_OUTPUT_ON_FAILURE to an non-empty value.
* 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
| |\ \ \ \ \ \ \ \ \ \ \ \