Commit Graph

16967 Commits

Author SHA1 Message Date
Ludovic Courtès f9aefa2d5f
daemon: Add 'built-in-builders' RPC.
* 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.
2016-11-16 18:19:54 +01:00
Ludovic Courtès 94d92c7796
daemon: Add "builtin:download" derivation builder.
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>
2016-11-16 18:19:47 +01:00
Ludovic Courtès 17ab08bcf0
tests: Move HTTP server to (guix tests http).
* 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).
2016-11-16 18:00:41 +01:00
Ludovic Courtès 1bcc87bb68
guix download: Add '-o' option.
* 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.
2016-11-16 18:00:41 +01:00
宋文武 eb4b3e4bef
gnu: opensmtpd: Update to 6.0.2p1.
* gnu/packages/mail.scm (opensmtpd): Update to 6.0.2p1.
[arguments]: Pass '--with-path-sock=/var/run' to #:configure-flags.
2016-11-16 21:00:40 +08:00
Mark H Weaver d55019136e
gnu: linux-libre: Update to 4.8.8.
* gnu/packages/linux.scm (%linux-libre-version, %linux-libre-hash)
(linux-libre): Update to 4.8.8.
2016-11-16 00:08:19 -05:00
Mark H Weaver 7d154949c9
gnu: linux-libre@4.4: Update to 4.4.32.
* gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.32.
2016-11-16 00:06:46 -05:00
Hartmut Goebel caa9b834e7
guxi: cmake-build-system: Enable output for failing test-cases.
* guix/build/cmake-build-system.scm (cmake-build-system): Set
  environment variable CTEST_OUTPUT_ON_FAILURE to an non-empty value.
2016-11-15 22:40:25 +01:00
Hartmut Goebel d46491779e
gnu: python-awscli: fix inputs.
* gnu/packages/python.scm (python-awscli): [inputs] change to
  [native-inputs].
2016-11-15 22:36:22 +01:00
Hartmut Goebel 8fa6890b6c
gnu: python-botocore: fix inputs.
* gnu/packages/python.scm (python-botocore): [inputs] change to
  [native-inputs].
2016-11-15 22:36:21 +01:00
Hartmut Goebel 05e2e4cf00
gnu: python-pip: fix inputs.
* gnu/packages/python.scm (python-pip): [inputs] change to
  [native-inputs].
2016-11-15 22:36:21 +01:00
Hartmut Goebel e62600feb6
gnu: python2-ipython: fix inputs.
* gnu/packages/python.scm (python2-ipython): [inputs] change to
  [native-inputs].
2016-11-15 22:36:20 +01:00
Hartmut Goebel 5b1416d983
gnu: python-betamax: fix inputs.
* gnu/packages/python.scm (python-betamax): [inputs] change to
  [propagated-inputs].
2016-11-15 22:36:19 +01:00
Hartmut Goebel 1b5241c515
gnu: python-scikit-learn: Remove useless property "python2-variant".
The Python 2 packages does not change the definition, thus the
propery is useless.

* gnu/packages/python.scm (python-scikit-learn): [properties]:
  Remove  "python2-variant". (python2-scikit-learn): Remove
  now needless "strip-python2-variant".
2016-11-15 22:36:18 +01:00
Hartmut Goebel bac23672ee
gnu: python-tables: Remove python byte-code files from source.
* gnu/packages/python.scm (python-tables)[source]: Add snippet.
2016-11-15 22:36:18 +01:00
Hartmut Goebel b9c8ccce04
gnu: python-flake8-2.2.4: Remove python byte-code files from source.
* gnu/packages/python.scm (python-flake8-2.2.4)[source]: Add snippet.
2016-11-15 22:36:17 +01:00
Hartmut Goebel 011271c769
gnu: python-flake8: Remove python byte-code files from source.
* gnu/packages/python.scm (python-flake8)[source]: Add snippet.
2016-11-15 22:36:09 +01:00
Hartmut Goebel bac6816879
gnu: python-pytest-django: Remove needless propagated input "python-py".
This is already propagated by python-pytest.

* gnu/packages/python.scm (python-pytest-django) [propagated-inputs]:
  Remove python-py.
2016-11-15 22:32:02 +01:00
Hartmut Goebel de5bc89093
gnu: python2-pbcore: Fix inputs:
* gnu/packages/bioinformatics.scm (python2-pbcore) [inputs] change to
  [propagated-inputs]. [native-inputs]: Remove python-docutils, which
  comes with sphinx. [former propagated-inputs]: move all (which is only
  pyxb) to [inputs].
2016-11-15 22:32:01 +01:00
Hartmut Goebel 54c85e12fd
gnu: python2-warpedlmm: Remove phase remove-bin-directory.
This directory did contain contain wrappers for `nose`, which should not
be there anyway (since nose already was a native-input). The new
python build system no longer creates this directory, while the old one
did. (This difference is due to the bloody details of how packages are
installed.)

* gnu/packages/bioinformatics.scm (python2-warpedlmm)
  [modify-phases] Remove, since remove-bin-directory was the only
  modification here.
2016-11-15 22:32:00 +01:00
Hartmut Goebel 3221207417
gnu: khal: Fix build.
The old one was plain wrong and only worked by luck since the old
python build system did manipulate PYTHONPATH.

* gnu/packages/calendar.scm(khal)[phase manpage]: Use
  add-installed-pythonpath.
2016-11-15 22:31:59 +01:00
Hartmut Goebel 632735f215
gnu: python-testlib: Remove useless self-defined phase "unpack".
Unzipping is now done by standard-phase "unpack" automatically.

* gnu/packages/python.scm (python-testlib, python2-testlib)[phases] No longer
  replace "unpack".
2016-11-15 22:31:59 +01:00
Hartmut Goebel 251ed7f2fe
gnu: python-sphinxcontrib-newsfeed: Remove needless input.
* gnu/packages/python.scm (python-sphinxcontrib-newsfeed) [propagated-inputs]:
  Remove python-docutils, already porpagated by python-sphinx.
2016-11-15 22:31:58 +01:00
Hartmut Goebel 38ceb106bd
gnu: python-nautilus: Correct inputs
* gnu/packages/python.scm(python-nautilus, python2-nautilus):
  [propagated-inputs] remove python-graphql-core, python-graphql-relay,
  python-requests: not listed and already propagated by others. Remove
  pycparser: not listed, not used in source. Move python-nose2 to
  [native-inputs] (used for tests only).
2016-11-15 22:31:57 +01:00
Hartmut Goebel 4e0969686c
gnu: python-freezegun: Correct input.
* u/packages/python.scm(python-freezegun)[native-inputs] move
  python-dateutils-2 to [propagated-inputs].
2016-11-15 22:31:56 +01:00
Hartmut Goebel fd1d6de729
gnu: python-consul: Correct inputs.
* gnu/packages/python.scm(python-consul)[native-inuts] move python-requests
  and python-six to [propagated-inputs].
2016-11-15 22:31:55 +01:00
Hartmut Goebel 2c199b5527
gnu: python-prompt-toolkit: Correct inputs
* gnu/packages/python.scm(python-prompt-toolkit)[native-inputs] move
  python-six to [propagated-inputs]. Remove now empty [native-inputs].
2016-11-15 22:31:55 +01:00
Hartmut Goebel d8ea5f2f27
gnu: python-responses: Correct inputs
* gnu/packages/python.scm(python-responses)[native-inputs] move python-cookies
  to [propagated-inputs]
2016-11-15 22:31:54 +01:00
Hartmut Goebel a0a0985978
gnu: python-sphinxcontrib-programoutput: Remove needless input.
This is an indirect requirement and propagated by python-sphinx already.

* gnu/packages/python.scm(python-sphinxcontrib-programoutput)
  [propagated-inputs]: Remove python-docutils.
2016-11-15 22:31:53 +01:00
Hartmut Goebel 47c7dc4a3f
gnu: python-sphinx-repoze-autointerface: Remove needless input.
This is an indirect requirement and propagated by python-sphinx already.

* gnu/packages/python.scm(python-sphinx-repoze-autointerface)
  [propagated-inputs]: Remove python-docutils.
2016-11-15 22:31:52 +01:00
Hartmut Goebel 06f1d73ed4
gnu: python-celery: Remove needless inputs.
These are indirect requirements and propagated by python-kombu.

* gnu/packages/python.scm(python-celery)[propagated-inputs] Remove python-amqp
  and python-anyjson.
2016-11-15 22:31:51 +01:00
Hartmut Goebel f7989b8bb0
gnu: Remove some outdated comments.
These comments were about setuptools used at runtime for pkg_resources.

* gnu/packages/python.scm: Remove some outdated comments.
2016-11-15 22:31:50 +01:00
Hartmut Goebel 7ba07edfb1
gnu: python-tox: Update FIXME comments.
* gnu/packages/python.scm(python-tox)[arguments]: Update FIXME
  comment. [inputs]: Add FIXME comment.
2016-11-15 22:31:49 +01:00
Hartmut Goebel 8322749a1c
gnu: python-urllib3: update comment.
* gnu/packages/python.scm(python-urllib3)[propagated-inputs]: Update comment.
2016-11-15 22:31:49 +01:00
Hartmut Goebel b9fc496ff6
gnu: python-wsgi-intercept: Correct inputs.
* gnu/packages/python.scm(python-wsgi-intercept): [native-inputs]: move
  python-six to [propagated-inputs].  [propagated-inputs] move
  python-httplib2, python-requests to [native-inputs].
2016-11-15 22:31:48 +01:00
Hartmut Goebel a5333f7c61
gnu: python-websocket-client: Correct inputs.
* gnu/packages/python.scm (python-websocket-client)[native-inputs] change to
  [propagated-inputs], remove a wrong comment.
2016-11-15 22:31:47 +01:00
Hartmut Goebel fd8e23b7b3
gnu: python-zope-security: Correct inputs.
* gnu/packages/python.scm(python-zope-security)[native-inputs] New element,
  move python-zope-component, python-zope-configuration, python-zope-location,
  python-zope-testrunner, python-zope-testing here.
2016-11-15 22:31:46 +01:00
Hartmut Goebel 861f70c9da
gnu: python-configobj: Correct inputs.
* gnu/packages/python.scm(python-configobj)[native-inputs] change to
  [propagated-inputs].
2016-11-15 22:31:46 +01:00
Hartmut Goebel d27f176a72
gnu: python-zope-location: Correct inputs.
* gnu/packages/python.scm(python-zope-location)[native-inputs] change to
  [propagated-inputs].
2016-11-15 22:31:45 +01:00
Hartmut Goebel 38d480a8a6
gnu: python-zope-interface: Correct inputs.
* gnu/packages/python.scm(python-zope-interface)[propagated-inputs] change to
  [native-inputs].
2016-11-15 22:31:44 +01:00
Hartmut Goebel 2887700e4d
gnu: python-pathpy: Build documentation.
* gnu/packages/python.scm (python-pathpy, python2-pathpy)
  [output] Add output "doc".
  [native-inputs]: Add python-sphinx and python-rst.linker
  [build-doc], [install-doc]: New build phases.
2016-11-15 22:31:43 +01:00
Hartmut Goebel fe94cf0cdd
gnu: Add python-rst.linker, python2-rst.linker.
* gnu/packages/python.scm (python-rst.linker, python2-rst.linker): New
  variables.
2016-11-15 22:31:43 +01:00
Hartmut Goebel 213d1745c6
gnu: python-numpydoc: Correct inputs.
* gnu/packages/python.scm (python-numpydoc, python-numpydoc)
  [native-inputs]: Remove python-docutils. Move python-shpinx to
  [propagated-inputs].
2016-11-15 22:31:42 +01:00
Hartmut Goebel cf8124b017
gnu: python-redis: Remove unused input.
* gnu/packages/python.scm (python-redis, python2-redis) Comment out
  [native-inputs] since these are used only for running tests, which
  is disabled since it requires a Redis server.
2016-11-15 22:31:41 +01:00
Hartmut Goebel 1273359455
gnu: python2-scikit-image: Remove needless native-input and inheritance.
Remove last additional [native-inputs] python-mock, thus there is no
need to inherit python-scikit-image package. Simply use
package-with-python2.

* gnu/packages/python.scm: (python-scikit-image): [properties]: Remove
  python2-variant. (python2-scikit-image) Use simply
  "package-with-python2" after removing last [native-inputs] python-mock.
2016-11-15 22:31:40 +01:00
Hartmut Goebel ddd1dc3d2d
gnu: python2-scikit-image: Remove needless propagated-input.
* gnu/packages/python.scm: (python2-scikit-image)
  [propagated-inputs]: Remove python-pytz, it does not occur anywhere in
  the source.
2016-11-15 22:31:39 +01:00
Hartmut Goebel b83e23337b
gnu: python-scikit-image: Correct inputs.
* gnu/packages/python.scm: (python-scikit-image, python2-scikit-image)
  [propagated-inputs]: Move python-numpy and python-six to [native-inputs].
  Add comment.
2016-11-15 22:31:39 +01:00
Hartmut Goebel 9fbe7b2bca
gnu: python-blinker: No longer disable tests.
The package does not provide tests, but there is no need to disable them.
Having them enabled allows running them if some newer version may provide
tests.

* gnu/package/python.scm (python-blinker, python2-blinker):
  [arguments]: Remove.
2016-11-15 22:31:38 +01:00
Hartmut Goebel 7c88bcf4bb
gnu: python-feedgenerator: Remove python byte-code files from source.
* gnu/packages/python.scm (python-feedgenerator, python2-feedgenerator)
  [source]: Add snippet.
2016-11-15 22:31:37 +01:00
Hartmut Goebel f052ec9a50
gnu: python-joblib: Add comment.
* gnu/packages/python.scm (python-joblib): Add comment.
2016-11-15 22:31:36 +01:00