Commit Graph

651 Commits

Author SHA1 Message Date
Ricardo Wurmus d0bd632f89 import: Add Bioconductor importer and updater.
* guix/import/cran.scm (%bioconductor-updater,
latest-bioconductor-release, bioconductor-package?): New procedures.
(cran->guix-package): Support repositories other than CRAN.
(%bioconductor-url, %bioconductor-svn-url): New variables.
(description->package): Update signature to distinguish between packages
from different repositories.
(latest-release): Rename procedure ...
(latest-cran-release): ... to this.
(cran-package?): Do not assume all R packages are available on CRAN.
* tests/cran.scm: Update tests.
* guix/scripts/import/cran.scm: Add "--archive" option and default to
CRAN.
* guix/scripts/refresh.scm (%updaters): Add "%bioconductor-updater".
* doc/guix.texi: Document Bioconductor importer and updater.
2016-01-20 12:41:28 +01:00
Ludovic Courtès f495301902 guix build: Add '--keep-going'.
* guix/scripts/build.scm (show-build-options-help)
(%standard-build-options): Add --keep-going.
* guix/scripts/build.scm (set-build-options-from-command-line): Honor
it.
* doc/guix.texi (Invoking guix build): Document it.
2016-01-19 21:59:58 +01:00
Ludovic Courtès e0c941fefa doc: Document 'http_proxy'.
* doc/guix.texi (Build Environment Setup, Substitutes): Document
'http_proxy'.
2016-01-18 17:41:16 +01:00
Ludovic Courtès a887fd8d48 doc: Explain how to run a subset of the tests.
* doc/guix.texi (Running the Test Suite): Explain 'TESTS'.
2016-01-18 17:41:16 +01:00
Alex Kost 27a2e48337 emacs: Add 'guix-search-by-name'.
* emacs/guix-ui-package.el (guix-search-by-name): New command.
* doc/emacs.texi (Emacs Commands): Document it.
2016-01-18 19:11:46 +03:00
Alex Kost e119ba9008 emacs: Rename 'guix-search-by-name' to 'guix-packages-by-name'.
* emacs/guix-ui-package.el (guix-search-by-name): Rename to...
  (guix-packages-by-name): ... this.  Complete package name.
* doc/emacs.texi (Emacs Commands): Likewise.
2016-01-18 19:11:46 +03:00
Ludovic Courtès e90cf6c14a doc: Document command-line options honored by the initrd.
* doc/guix.texi (Initial RAM Disk): Document kernel command-line
options.
2016-01-16 14:45:47 +01:00
Alex Kost 67cedc4ba6 emacs: Add interface for system generations.
* emacs/guix-main.scm (system-generation-boot-parameters)
(system-generation-param-alist, system-generation-sexps): New procedures.
(entries): Add 'system-generation' entry type.
* emacs/guix-messages.el (guix-result-message): Use the same messages
  for 'generation' and 'system-generation' entry types.
* emacs/guix-ui-system-generation.el: New file.
* emacs.am (ELFILES): Add it.
* doc/emacs.texi (Emacs Commands): Document new commands.
* NEWS: Mention new interface.
2016-01-16 13:02:21 +03:00
Leo Famulari 0917e80ea8 doc: Fix typo in "Build Systems".
* doc/guix.texi (Build Systems): Remove extra 's'.
2016-01-12 17:55:59 -05:00
Ludovic Courtès d33fa0c714 doc: Show bootstrapping at the package level.
* doc/images/bootstrap-packages.dot: New file.
* doc.am (DOT_FILES): Add it.
* doc/guix.texi (Bootstrapping): Show 'guix graph' commands.  Includes
'images/bootstrap-packages' and comment it.
2016-01-12 17:47:36 +01:00
宋文武 c0a9589da2 doc: Document network-manager-service.
* doc/guix.texi (Networking Services): Document network-manager-service.
2016-01-08 08:06:40 +08:00
Ludovic Courtès b110869dd3 doc: Add elaborate package search example.
* doc/guix.texi (Invoking guix package): Add elaborate --search example
using recsel and sexes.
2016-01-08 00:09:50 +01:00
Michael Vetter f9b9a0330d doc: Remove double occurrence of words.
* doc/guix.texi: substitute 'the the' with 'the'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-01-05 23:55:26 +01:00
Ludovic Courtès db5a94445f guix package: Allow multiple '--search' flags.
* guix/scripts/package.scm (find-packages-by-description): Change 'rx'
parameter to 'regexps'.
[matches-all?, matches-one?]: New procedures.
Use them.
(process-query): Collect regexps from all 'search' queries, and pass
them to 'find-packages-by-description'.
* tests/guix-package.sh: Add tests.
* doc/guix.texi (Invoking guix package): Document it.
2016-01-05 00:28:42 +01:00
Alex Kost 5c8994d9d9 emacs: Use "B" key in "Package List" to display latest builds.
* emacs/guix-ui-package.el (guix-package-list-latest-builds): New
  procedure.
  (guix-package-list-mode-map): Bind "B" key to it.
  (guix-output-list-mode-map): Likewise.
* doc/emacs.texi (Emacs List buffer): Document it.
2016-01-02 17:25:35 +03:00
Alex Kost 32950fc846 emacs: Add Hydra interface.
* emacs/guix-utils.el (guix-hexify, guix-number->bool): New procedures.
  (guix-while-null): New macro.
* emacs/guix-hydra.el: New file.
* emacs/guix-hydra-build.el: New file.
* emacs/guix-hydra-jobset.el: New file.
* emacs.am (ELFILES): Add them.
* doc/emacs.texi (Emacs Hydra): New node.
  (Emacs Interface): Add it.
* doc/guix.texi (Top): Add it.
  (Substitutes): Mention Emacs interface.
2016-01-02 17:25:35 +03:00
Alex Kost c80ce104be emacs: Reorganize package/generation UI code.
Move the code for packages/generations interface from "guix-info.el",
"guix-list.el", "guix-base.el" and "guix.el" to "guix-ui-package.el" and
"guix-ui-generation.el".

* emacs/guix-base.el (guix-package-entry->name-specification)
  (guix-package-entries->name-specifications)
  (guix-package-id-and-output-by-output-id)
  (guix-package-installed-outputs, guix-process-package-actions)
  (guix-package-list-type, guix-package-info-type)
  (guix-continue-package-operation-p, guix-get-package-strings)
  (guix-insert-package-strings): Move to "guix-ui-package.el".
  (guix-generation-packages-buffer-name-function, guix-output-name-width)
  (guix-generation-packages-update-buffer, guix-generation-packages)
  (guix-generation-packages-buffer-name-default)
  (guix-generation-packages-buffer-name-long)
  (guix-generation-packages-buffer-name, guix-generation-packages-buffer)
  (guix-generation-insert-packages, guix-generation-insert-package)
  (guix-profile-generation-manifest-file, guix-delete-generations)
  (guix-profile-generation-packages-buffer, guix-switch-to-generation):
  Move to "guix-ui-generation.el".
* emacs/guix-info.el (guix-package-location, guix-package-name)
  (guix-package-source, guix-package-info-source)
  (guix-package-info-heading, guix-package-info-license)
  (guix-package-info-name, guix-package-info-name-button)
  (guix-package-info-version, guix-package-info-location)
  (guix-package-info-synopsis, guix-package-info-description)
  (guix-package-info-obsolete, guix-package-info-installed-outputs)
  (guix-package-info-uninstalled-outputs)
  (guix-package-info-insert-heading)
  (guix-package-info-define-insert-inputs)
  (guix-package-info-obsolete-string)
  (guix-package-info-insert-obsolete-text)
  (guix-package-info-insert-non-unique-text)
  (guix-package-info-insert-outputs, guix-package-info-insert-output)
  (guix-package-info-insert-action-button)
  (guix-package-info-auto-find-source)
  (guix-package-info-auto-download-source)
  (guix-package-info-download-buffer, guix-package-info-show-source)
  (guix-package-info-download-source, guix-package-info-insert-source)
  (guix-package-info-redisplay-after-download)
  (guix-output-info-insert-version, guix-output-info-insert-output):
  Move to "guix-ui-package.el".
  (guix-generation-info-number, guix-generation-info-current)
  (guix-generation-not-current, guix-generation-info-insert-number)
  (guix-generation-info-insert-current): Move to "guix-ui-generation.el".
* emacs/guix-list.el (guix-package-list-generation-marking-enabled)
  (guix-package-list-installed, guix-package-list-obsolete)
  (guix-package-list-get-name, guix-package-list-get-installed-outputs)
  (guix-package-list-marking-check, guix-package-list-mark-outputs)
  (guix-package-list-mark-install, guix-package-list-mark-delete)
  (guix-package-list-mark-upgrade, guix-package-list-mark-upgrades)
  (guix-list-mark-package-upgrades, guix-list-execute-package-actions)
  (guix-package-list-execute, guix-package-list-make-action)
  (guix-package-list-edit, guix-output-list-mark-install)
  (guix-output-list-mark-delete, guix-output-list-mark-upgrade)
  (guix-output-list-mark-upgrades, guix-output-list-make-action)
  (guix-output-list-describe, guix-output-list-edit): Move to
  "guix-ui-package.el".
  (guix-generation-list-get-current, guix-generation-list-switch)
  (guix-generation-list-generations-to-compare)
  (guix-generation-list-compare, guix-generation-list-show-packages)
  (guix-generation-list-show-added-packages)
  (guix-generation-list-show-removed-packages)
  (guix-generation-list-diff, guix-generation-list-diff-manifests)
  (guix-generation-list-ediff, guix-generation-list-ediff-manifests)
  (guix-generation-list-diff-packages)
  (guix-generation-list-ediff-packages)
  (guix-generation-list-mark-delete, guix-generation-list-execute): Move
  to "guix-ui-generation.el".
* emacs/guix.el: Remove.
  (guix, guix-faces, guix-edit): Move to "guix-base.el".
  (guix-list-single-package, guix-search-params, guix-search-history)
  (guix-get-show-packages, guix-search-by-name, guix-search-by-regexp)
  (guix-installed-packages, guix-obsolete-packages)
  (guix-all-available-packages, guix-newest-available-packages): Move
  to "guix-ui-package.el".
  (guix-get-show-generations, guix-generations, guix-last-generations)
  (guix-generations-by-time): Move to "guix-ui-generation.el".
* emacs.am (ELFILES): Remove "guix.el".  Add "guix-ui-package.el" and
  "guix-ui-generation.el".
* doc/emacs.texi (Emacs Appearance): Adjust accordingly.
2016-01-02 17:25:35 +03:00
Alex Kost 8bff0c796e emacs: Generalize buffer naming.
* emacs/guix-base.el (guix-buffer-name): New procedure.
  (guix-buffer-define-interface): Make ':buffer-name' a required keyword.
  (guix-update-after-operation, guix-buffer-name-function)
  (guix-buffer-name-simple, guix-buffer-name-default, guix-buffer-name)
  (guix-buffer-p, guix-buffers, guix-update-buffer)
  (guix-update-buffers-maybe-after-operation): Adjust, move and rename to...
* emacs/guix-ui.el (guix-ui-update-after-operation)
  (guix-ui-buffer-name-function, guix-ui-buffer-name-simple)
  (guix-ui-buffer-name-default, guix-ui-buffer-name)
  (guix-ui-buffer?, guix-ui-buffers, guix-ui-update-buffer)
  (guix-ui-update-buffers-after-operation): ... this.
  (guix-ui-define-interface): Generate
  'guix-ENTRY-TYPE-BUFFER-TYPE-buffer-name' procedure and pass it as
  ':buffer-name' argument.
  (guix-ui): New custom group.
* emacs/guix-info.el: Specify ':buffer-name' for the defined interfaces.
* emacs/guix-list.el: Likewise.
* doc/emacs.texi (Emacs Appearance): Adjust accordingly.
2016-01-02 17:25:35 +03:00
Alex Kost e40b3c33f4 emacs: Split 'guix-root-map' keymap.
* emacs/guix-base.el: (guix-root-map): Split into...
  (guix-buffer-map): ... this and...
* emacs/guix-ui.el (guix-ui-map): ... this.
  (guix-ui-define-interface): Generate
  'guix-ENTRY-TYPE-BUFFER-TYPE-mode-map' keymaps inheriting them from
  'guix-ui-map' and 'guix-BUFFER-TYPE-mode-map'.
* emacs/guix-info.el (guix-info-mode-map): Use 'guix-buffer-map'.
* emacs/guix-list.el (guix-list-mode-map): Likewise.
* doc/emacs.texi (Emacs Keymaps): Document new keymaps.
2016-01-02 17:25:35 +03:00
Alex Kost 574f6727b0 emacs: Split 'guix-param-titles' variable.
Generate 'guix-ENTRY-TYPE-BUFFER-TYPE-titles' variables for each
ENTRY-TYPE and BUFFER-TYPE instead.

* emacs/guix-base.el (guix-param-titles): Remove.
  (guix-buffer-data): New variable.
  (guix-buffer-value, guix-buffer-param-title): New procedures.
  (guix-buffer-define-interface): Add ':titles' keyword.
* emacs/guix-info.el (guix-info-param-title): Adjust accordingly.
* emacs/guix-list.el (guix-list-param-title): Likewise.
  (guix-list-column-titles): Remove.
* doc/emacs.texi (Emacs Appearance): Adjust accordingly.
2016-01-02 17:25:35 +03:00
Alex Kost 9193fb7c1d emacs: info: Split 'guix-info-format' variable.
* emacs/guix-info.el: Generate 'guix-ENTRY-TYPE-info-format' variables
  for 'package', 'installed-output', 'output' and 'generation' entry
  types.
  (guix-info-format): Remove.
  (guix-info-data): New variable.
  (guix-info-value): New procedure.
  (guix-info-define-interface): Add ':format' keyword.
* emacs/guix-base.el (guix-buffer-define-interface): Add ':reduced?'
  keyword.
* doc/emacs.texi (Emacs Appearance): Adjust accordingly.
2016-01-02 17:25:35 +03:00
Alex Kost 2c7ed388cf emacs: info: Generalize inserting and formatting.
* emacs/guix-info.el: Use a more flexible format for inserting any data.
  (guix-info-ignore-empty-vals): Rename to...
  (guix-info-ignore-empty-values): ... this.
  (guix-info-insert-methods): Merge this and...
  (guix-info-displayed-params): ... this into...
  (guix-info-format): ... this.  Change format specifications.
  (guix-info-title-aliases, guix-info-value-aliases): New variables.
  (guix-info-displayed-params): Adjust for the new format.
  (guix-info-insert-entry): Likewise.
  (guix-package-info-fill-heading): Replace with...
  (guix-info-fill): ... this.
  (guix-info-insert-param): Replace with...
  (guix-info-insert-entry-unit): ... this.
  (guix-info-insert-title-default): Replace with...
  (guix-info-insert-title-format): ... this.
  (guix-info-insert-val-default): Replace with...
  (guix-info-insert-value-format): ... this.
  (guix-info-insert-val-simple): Replace with...
  (guix-info-insert-value-indent): ... this.
  (guix-package-info-insert-source): Adjust accordingly.
  (guix-package-info-insert-heading): Insert only name and version.
  (guix-package-info-define-insert-inputs): Do not generate
  'guix-package-info-insert-ENTRY-TYPE-inputs' procedures.
  (guix-info-fill-column, guix-info-insert-entry-default)
  (guix-info-method-funcall, guix-info-insert-file-path)
  (guix-info-insert-url, guix-info-insert-package-function)
  (guix-info-insert-installed-function)
  (guix-info-insert-output-function)
  (guix-info-insert-generation-function)
  (guix-package-info-heading-params)
  (guix-package-info-insert-with-heading)
  (guix-package-info-insert-description)
  (guix-package-info-insert-location)
  (guix-package-info-insert-full-names)
  (guix-package-info-insert-source-url): Remove.
  (guix-info-fill-column, guix-info-param-title)
  (guix-info-title-function, guix-info-value-function)
  (guix-info-title-method->function)
  (guix-info-value-method->function)
  (guix-info-insert-value-simple): New procedures.
* emacs/guix-utils.el (guix-buttonize, guix-button-type?): New
  procedures.
  (guix-split-string): Split multi-line strings and ignore empty lines.
* doc/emacs.texi (Emacs Appearance): Adjust accordingly.
2016-01-02 17:25:35 +03:00
Alex Kost cf910ceffc emacs: list: Split 'guix-list-format' variable.
* emacs/guix-list.el: Generate 'guix-ENTRY-TYPE-list-format' variables
  for 'package', 'output' and 'generation' entry types.
  (guix-list-format): Remove.
  (guix-list-define-entry-type): Add ':format' keyword.
* doc/emacs.texi (Emacs Appearance): Adjust accordingly.
2016-01-02 17:25:35 +03:00
Alex Kost 376af769f9 emacs: list: Configure format in one place.
* emacs/guix-list.el: (guix-list-column-format): Merge this and...
  (guix-list-column-value-methods): ... this into...
  (guix-list-format): ... this.  New variable.
  (guix-list-tabulated-vector): Adjust accordingly.
  (guix-list-tabulated-format): Likewise.
  (guix-list-tabulated-entry): Likewise.
* doc/emacs.texi (Emacs Appearance): Likewise.
2016-01-02 17:25:35 +03:00
Ludovic Courtès daa8922abc doc: Mention how to verify signatures.
* doc/guix.texi (Binary Installation): Be more precise about signature
verification.  Suggested by Carl Hansen <carlhansen1234@gmail.com>.
2016-01-01 19:01:05 +01:00
Ludovic Courtès 7a57c96a10 daemon: Build in /tmp/guix-build-*.
* nix/libstore/build.cc (DerivationGoal::startBuilder): Use "guix-build"
instead of "nix-build" for TMPDIR.
* doc/guix.texi (Build Environment Setup): Adjust accordingly.
2015-12-30 18:01:01 +01:00
Ludovic Courtès be21979d85 file-systems: Add a 'mount?' field.
Fixes <http://bugs.gnu.org/22176>.
Reported by Florian Paul Schmidt <mista.tapas@gmx.net>.

* gnu/system/file-systems.scm (<file-system>)[mount?]: New field.
(file-system->spec): Adjust accordingly.
* gnu/services/base.scm (file-system-dmd-service): Return the empty list
when FILE-SYSTEM has 'mount?' set to false.
(user-processes-service): Select the subset of FILE-SYSTEMS that matches
'file-system-mount?'.
* doc/guix.texi (File Systems): Document it.
2015-12-22 00:29:21 +01:00
Leo Famulari dd81635571 doc: Explain significance of partition labels.
* doc/guix.texi (Preparing for Installation): Point out relationship
between partition labels and the file-system configuration.
2015-12-21 12:53:12 -05:00
Ricardo Wurmus b1186502a4 doc: Fix outdated claim about CRAN importer.
* doc/guix.texi: The CRAN importer no longer extracts information from
  the HTML package description but from the package's DESCRIPTION file.
2015-12-21 15:25:10 +01:00
Andy Wingo d8c18af834 gnu: Add dovecot service
* gnu/services/mail.scm: New file.
(&dovecot-configuration-error, dovecot-configuration-error?)
(dovecot-service, dovecot-configuration, dict-configuration)
(passdb-configuration, userdb-configuration)
(unix-listener-configuration, fifo-listener-configuration)
(inet-listener-configuration, service-configuration)
(protocol-configuration, plugin-configuration, mailbox-configuration)
(namespace-configuration, opaque-dovecot-configuration): New public
variables.

* gnu-system.am (GNU_SYSTEM_MODULES): Add (gnu services mail).

* doc/guix.texi (Mail Services): New node.
2015-12-18 09:24:27 +01:00
Ludovic Courtès e0508b6bf7 doc: Give another example use of 'propagated-inputs'.
Suggested by Leo Famulari <leo@famulari.name>.

* doc/guix.texi (package Reference): Explain 'propagated-inputs' for
non-C languages.
2015-12-15 13:43:27 +01:00
Ludovic Courtès 9d3994f700 gexp: 'local-file' resolves relative file names.
* guix/gexp.scm (<local-file>): Rename constructor to '%%local-file'.
Add 'absolute' field.
(%local-file, extract-directory, absolute-file-name): New procedures.
(current-source-directory): New macro.
(local-file): Adjust call to '%local-file'.
(local-file-absolute-file-name): New procedure.
(local-file-compiler): Force the 'absolute' field.
* tests/guix-system.sh: Test whether 'local-file' canonicalization
works.
* doc/guix.texi (G-Expressions): Adjust.
2015-12-14 19:57:42 +01:00
Ludovic Courtès ecf84b7c48 daemon: Add '--rounds'.
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_BUILD_ROUNDS): New macro.
(options): Add --rounds.
(parse_opt): Honor it.
* doc/guix.texi (Invoking guix-daemon): Document it.
2015-12-13 19:20:01 +01:00
Ludovic Courtès 70650c684a doc: Reword description of 'inputs' & co.
* doc/guix.texi (package Reference): Reword explanation of 'inputs',
'native-inputs', and 'propagated-inputs'.  Add example.
2015-12-13 15:20:44 +01:00
Ludovic Courtès f7e4ae7f45 doc: Fix typo in "Setuid Programs".
* doc/guix.texi (Setuid Programs): Remove extra 's'.
2015-12-13 15:20:44 +01:00
Alex Sassmannshausen dcb7119a6d doc: rephrase code of conduct.
* doc/contributing.texi (Contributing): Rephrase 'code of conduct'
  section.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-12-09 22:18:47 +01:00
Ludovic Courtès e15fcdd149 Add "Contributor Covenant".
* CODE-OF-CONDUCT: New file, adapted from
  <http://contributor-covenant.org/version/1/3/0/code_of_conduct.txt>.
* doc/contributing.texi (Contributing): Mention it.
* Makefile.am (EXTRA_DIST): Add it.
2015-12-09 14:29:41 +01:00
Eelco Dolstra cb9601029e daemon: Use deterministic $TMPDIR in chroot.
Rather than using $<host-TMPDIR>/nix-build-<drvname>-<number>, the
temporary directory is now always /tmp/nix-build-<drvname>-0. This
improves bitwise-exact reproducibility for builds that store $TMPDIR
in their build output. (Of course, those should still be fixed...)

* nix/libstore/build.cc (DerivationGoal)[tmpDirInSandbox]: New field.
(DerivationGoal::startBuilder): Initialize 'useChroot' earlier.  Compute
'tmpDirInSandbox', and use it when populating 'dirsInChroot'.
* doc/guix.texi (Build Environment Setup): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-12-09 14:29:41 +01:00
Ludovic Courtès a8d65643fb guix build: Add '--check'.
* guix/derivations.scm (build-derivations): Add optional 'mode'
parameter.
* guix/scripts/build.scm (%default-options): Add 'build-mode'.
(show-help, %options): Add '--check'.
(guix-build): Honor 'build-mode' key of OPTS.  Pass it to
'show-what-to-build' and 'build-derivations'.
* doc/guix.texi (Invoking guix build): Document it.
(Substitutes): Mention it.
2015-12-09 14:29:41 +01:00
Ludovic Courtès 5b74fe065b guix build: Add '--rounds'.
* guix/scripts/build.scm (show-build-options-help)
(%standard-build-options): Add --rounds.
(set-build-options-from-command-line): Honor it.
* doc/guix.texi (Invoking guix build): Document it.
* doc/contributing.texi (Submitting Patches): Mention it.
2015-12-08 23:58:12 +01:00
Ludovic Courtès e80c0f85ba gnu-maintenance: Add GNOME updater.
* guix/gnu-maintenance.scm (ftp-server/directory)[quirks]: Remove glib.
(false-if-ftp-error): New macro.
(latest-release*): Use it.
(non-emacs-gnu-package?): Rename to...
(pure-gnu-package?): ... this.  Add call to 'gnome-package?'.
(%gnu-updater): Adjust accordingly.
(gnome-package?, latest-gnome-release): New procedures.
(%gnome-updater): New variable.
* guix/scripts/refresh.scm (%updaters): Add %GNOME-UPDATER.
* doc/guix.texi (Invoking guix refresh): Mention it.
2015-12-07 23:32:01 +01:00
Ludovic Courtès 56b6befb50 doc: 'guix environment --container' does not create '/env'.
* doc/guix.texi (Invoking guix environment): Remove outdated mention of
'/env' for '--container'.
2015-12-07 23:32:01 +01:00
Ludovic Courtès f6c9fb1b38 doc: Mention 'specification->package'.
Suggested by Florian Paul Schmidt <mista.tapas@gmx.net>.

* doc/guix.texi (Using the Configuration System): Mention
'specification->package'.
2015-11-28 15:28:44 +01:00
Ludovic Courtès 6629099a63 services: tor: Store private data under /var/lib/tor.
* gnu/services/networking.scm (tor-configuration->torrc): Add
'DataDirectory' clause.  Change 'HiddenServiceDir' to
/var/lib/tor/hidden-services/NAME.
(tor-hidden-service-activation): Create /var/lib/tor.
(tor-hidden-service): Adjust docstring.
* doc/guix.texi (Networking Services): Adjust accordingly.
2015-11-27 23:29:51 +01:00
Ludovic Courtès 6331bde73f services: Add 'tor-hidden-service'.
* gnu/services/networking.scm (<tor-configuration>, <hidden-service>):
New record types.
(tor-configuration->torrc): New procedure.
(tor-dmd-service): Use it.
(tor-hidden-service-activation): New procedure.
(tor-service-type)[extensions]: Extend ACTIVATION-SERVICE-TYPE.
[compose, extend]: New fields.
(tor-service): Use 'tor-configuration'.
(tor-hidden-service-type): New variable.
(tor-hidden-service): New procedure.
2015-11-27 23:04:49 +01:00
Mario Daniel Ruiz Saavedra ad227484c3 Add 'guix-daemon.conf' job for Upstart.
* etc/guix-daemon.conf.in: New file.
* daemon.am (CLEANFILES): Add etc/guix-daemon.conf.
  (upstartjobdir, nodist_upstartjob_DATA): New variables.
  (EXTRA_DIST): Add etc/guix-daemon.conf.in.
* doc/guix.texi (Binary Installation, Build Environment Setup): Mention
  'guix-daemon.conf'.

Signed-off-by: Mario Daniel Ruiz Saavedra <desiderantes@rocketmail.com>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-11-26 23:21:09 +01:00
Ludovic Courtès 5432734b00 lint: Add "cve" checker.
Fixes <http://bugs.gnu.org/21289>.

* guix/scripts/lint.scm (package-name->cpe-name, package-vulnerabilities)
(check-vulnerabilities): New procedures.
* guix/scripts/lint.scm (%checkers): Add "cve" checker.
* tests/lint.scm ("cve", "cve: one vulnerability"): New tests.
* doc/guix.texi (Invoking guix lint): Mention it.
2015-11-26 23:04:19 +01:00
Ludovic Courtès 3177149797 doc: Remove mention of monadic services.
* doc/guix.texi (Base Services): Remove mention of a list of monadic
services.
2015-11-25 11:59:54 +01:00
Ludovic Courtès fae685b9cc services: dmd: Add 'modules' and 'imported-modules' fields.
* gnu/services/dmd.scm (%default-imported-modules, %default-modules):
New variables.
* gnu/services/dmd.scm (<dmd-service>)[modules, imported-modules]: New
field.
* gnu/services/dmd.scm (dmd-service-file-name, dmd-service-file): New
procedures.
(dmd-configuration-file)[modules]: Compute based on the
'imported-modules' field of SERVICES.
(dmd-configuration-file): Remove 'use-modules' form.  Use
'dmd-service-file', and call 'primitive-load' on each file.
* doc/guix.texi (dmd Services): Document the new fields.
2015-11-25 11:59:54 +01:00
Ludovic Courtès 38b92daa81 graph: Add '%bag-with-origins-node-type'.
* guix/scripts/graph.scm (bag-node-edges): Remove 'filter' call.  Add
case for 'origin'.
(%bag-node-type)[edges]: Add filtering here.
(%bag-with-origins-node-type): New variable.
(%node-types): Add it.
* tests/graph.scm ("bag DAG, including origins"): New test.
* tests/guix-graph.sh: Add 'bag-with-origins'.
* doc/guix.texi (Invoking guix graph): Document it.
2015-11-23 23:34:15 +01:00