Commit Graph

77 Commits

Author SHA1 Message Date
Jakub Kądziołka d6b05ba353
gitignore: Don't ignore daemon source code.
Remove files that are included in the repository from .gitignore. This
improves the behavior of some code-searching tools.
2020-07-17 15:23:53 +02:00
Brice Waegeneire b9edefbc46
.gitignore: Ignore 'etc/committer.scm'.
* .gitignore: Add '/etc/committer.scm'.
2020-06-28 13:28:25 +02:00
Tobias Geerinckx-Rice 1a1faa78b0
etc: Add a systemd unit to bind-mount @storedir@ read-only.
* etc/gnu-store.mount.in: New file.
* nix/local.mk (nodist_systemdservice_DATA): Add it.
(etc/%.mount): New rule for it.
* etc/guix-install.sh (sys_enable_guix_daemon): Install it.
* doc/guix.texi (Binary Installation): Document it.
* .gitignore: Ignore changes to it.
2020-05-16 15:37:41 +02:00
Maxim Cournoyer cb21ae7671
etc: indent-code.el: Use the --quick option.
This prevents Emacs from loading the autoload definitions found in its
profile, which needlessly clutters the output.  It also prevents Geiser (if
installed) from blocking the script and asking the user to input the Scheme
implementation to use.

The trick for passing multiple arguments to Emacs is to use what is called a
"sesquicolon" (see https://www.emacswiki.org/emacs/EmacsScripts).

* etc/indent-code.el.in: Rename to...
* etc/indent-code.el: ...this.  Adapt the shebang to use a sesquicolon, and
pass the --quick option to Emacs.  Since this line is interpreted by the
shell, simply use Emacs from the PATH instead of from a hard coded location.
(main): New procedure, used as the entry point.
* configure.ac: Remove the warning about Emacs.  Emacs can now be installed
any time by the user if they want to use the script.
* .gitignore: No longer ignore changes to etc/indent-code.el.
2020-05-14 23:05:42 -04:00
Marius Bakke 6e27d1088d
.gitignore: Ignore test results in tests/services.
This is a follow-up to commit d3e439e355.

* .gitignore: Add /tests/services/*.trs.
2020-03-30 12:24:55 +02:00
Danny Milosavljevic 73fbe04107
Add system start-up files for guix-daemon.
* etc/init.d/guix-daemon.in: New file.
* nix/local.mk (etc/init.d/guix-daemon): New rule.
(nodist_sysvinitservice_DATA): Add etc/init.d/guix-daemon.in .
(CLEANFILES): Add etc/init.d/guix-daemon .
* .gitignore: Add etc/init.d/guix-daemon .
2020-03-11 02:45:33 +01:00
Ludovic Courtès 11da634a6e
Merge branch 'master' into core-updates 2019-09-24 10:11:38 +02:00
Ricardo Wurmus 7bc46ecc34
doc: Add Guix Cookbook.
* .gitignore: Update ignore list.
* Makefile.am (assert-no-store-file-names): Exclude the cookbook.
* bootstrap: Generate po files for cookbook translations.
* doc/guix-cookbook.texi: New file.
* doc/local.mk (info_TEXINFOS): Add it; add a rule to build cookbook
translations.
* po/doc/local.mk (DOC_COOKBOOK_PO_FILES): New variable.
(EXTRA_DIST): Add cookbook pot file and po files.
(doc-po-update-cookbook-%): New target.
(doc-pot-update): Also update cookbook pot file.
(doc-po-update): Also update cookbook po files.
2019-09-18 11:38:14 +02:00
Ludovic Courtès 92d00ca466
build: Remove 'gnu/packages/bootstrap' and its binaries.
* gnu/local.mk (bootstrapdir, bootstrap_i686_linuxdir)
(bootstrap_armhf_linuxdir, bootstrap_aarch64_linuxdir)
(bootstrap_mips64el_linuxdir, dist_bootstrap_i686_linux_DATA)
(dist_bootstrap_armhf_linux_DATA, dist_bootstrap_aarch64_linux_DATA)
(dist_bootstrap_mips64el_linux_DATA): Remove.
(set-bootstrap-executable-permissions): Remove target.
* Makefile.am (install-data-hook): Remove dependency on
'set-bootstrap-executable-permissions'.
* gnu/packages/bootstrap: Remove directory.
* tests/search-paths.scm ("evaluate-search-paths, separator is #f"):
Adjust to match .../aux-files/linux-libre.
2019-06-14 22:09:38 +02:00
Miguel Ángel Arruga Vivas 9ca5ff882e
bootstrap: Break automake dependency on generated files.
* bootstrap: Generate stub files for the manual translations whose
generated files are not included in the VCS.
* doc/contributing.de.texi: Remove file.
* doc/contributing.es.texi: Remove file.
* doc/contributing.fr.texi: Remove file.
* doc/contributing.zh_CN.texi: Remove file.
* doc/guix.de.texi: Remove file.
* doc/guix.es.texi: Remove file.
* doc/guix.fr.texi: Remove file.
* doc/guix.zh_CN.texi: Remove file.
* .gitignore: Add them.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2019-04-26 11:21:32 +02:00
Marius Bakke 975b7966f5
.gitignore: Re-add 'authenticate' script.
This is a follow-up to commit 0fe1fba4af.

* .gitignore: s/guix-authenticate/authenticate/
2018-11-20 01:42:43 +01:00
Ludovic Courtès ea0a06cee2
Remove 'guix-register' and its traces.
* Makefile.am (SH_TESTS): Remove tests/guix-register.sh.
* build-aux/pre-inst-env.in (GUIX_REGISTER): Remove.
* gnu/build/install.scm (directives): Remove outdated comment.
* gnu/build/vm.scm (root-partition-initializer): Update comment.
* gnu/packages/package-management.scm (guix-register): Remove.
* guix/config.scm.in (%sbindir, %guix-register-program): Remove.
* guix/scripts/system.scm (install): Adjust docstring.
* guix/self.scm (make-config.scm): Remove #:guix.  Do not generate
%sbindir and %guix-register-program.
(specification->package): Remove "guix".
* nix/guix-register/guix-register.cc: Remove.
* nix/libstore/store-api.cc (decodeValidPathInfo): Remove.
* nix/libstore/store-api.hh (decodeValidPathInfo): Remove declaration.
* nix/local.mk (sbin_PROGRAMS, guix_register_SOURCES)
(guix_register_CPPFLAGS, guix_register_LDFLAGS): Remove.
* tests/guix-register.sh: Remove.
2018-06-14 11:17:00 +02:00
Ludovic Courtès 5909bdc887
.gitignore: Add doc/stamp-[0-9]. 2018-06-12 15:23:34 +02:00
Julien Lepiller b9fe8fd662
gnu: doc: Allow documentation to be translated.
* po/doc/contributing.pot: New file.
* po/doc/guix.pot: New file.
* po/doc/local.mk: New file.
* Makefile.am: Include it. Add gettext command. Add silent rules for po4a.
* configure.ac: Look for po4a-translate and po4a-updatepo.
* doc/local.mk: Add rules to generate translated texi files.
(TRANSLATED_INFO): New variable.
(BUILT_SOURCES, EXTRA_DIST, MAINTAINERCLEANFILES): Add it.
* .gitignore: Add generated files.
2018-04-19 21:30:30 +02:00
Efraim Flashner 99f6963242
.gitignore: Add guix-daemon SELinux policy.
* .gitignore: Add etc/guix-daemon.cil
2018-02-13 22:56:49 +02:00
ng0 498abb3ed1
.gitignore: Ignore Emacs auto-save files.
* .gitignore: Add entries for temporary files created by Emacs.

Co-authored-by: Alex Kost <alezost@gmail.com>
2017-05-13 12:14:28 +03:00
Clément Lassieur 65584b91c7
build: Add doc/guix.html to .gitignore.
* .gitignore: Add entry for the above directory which is created by 'make
html'.
2017-05-08 20:08:23 +02:00
Ludovic Courtès e6860b5e7f
build: Use Gnulib's 'git-version-gen'.
* Makefile.am (EXTRA_DIST, BUILT_SOURCES): Add $(top_srcdir)/.version.
($(top_srcdir)/.version, gen-tarball-version): New targets.
(dist-hook): Depend on 'gen-tarball-version'.
(.PHONY): Add 'gen-tarball-version'.
* build-aux/git-version-gen: New file, from Gnulib v0.1-1312-ga87d5e5c6.
* configure.ac: Use it in 'AC_INIT'.  Use 'https' for the URL.
2017-05-04 23:51:45 +02:00
Alex Kost 1162418ee8
.gitignore: Remove stale entries.
This is a followup to commit deb6276dda.

* .gitignore: Remove "/emacs/..." lines.
2017-02-27 16:44:58 +03:00
Clément Lassieur 01ceca2658
build: Add build-aux/ar-lib to .gitignore.
* .gitignore: Add entry for the above file which is created by './bootstrap'.

Signed-off-by: David Craven <david@craven.ch>
2017-02-10 13:39:02 +01:00
Ludovic Courtès 557d9c8d7a
etc: Support indentation of whole files.
* etc/indent-package.el.in: Rename to...
* etc/indent-code.el.in: ... this.  Add case for a single argument.
* doc/contributing.texi (Formatting Code): Adjust accordingly.
* configure.ac: Likewise.
2017-01-13 18:49:31 +01:00
Ludovic Courtès 7bb2b10cd0
etc: Add 'indent-package.el' script.
* configure.ac: Check for 'emacs', substitute 'EMACS', and emit
'etc/indent-package.el'.
* etc/indent-package.el.in: New file.
* doc/contributing.texi (Formatting Code): Mention
'etc/indent-package.el'.
(Submitting Patches): Likewise, and link to the above node.

Co-authored-by: Alex Kost <alezost@gmail.com>
2017-01-12 14:56:52 +01:00
Hartmut Goebel 332d7903f5
Add system start-up files for "guix publish".
* .gitignore: add etc/guix-publish.conf and /etc/guix-publish.service.
* etc/guix-publish.conf.in: New file.
* etc/guix-publish.service.in: New file.
* nix/local.mk (etc/guix-%.service, etc/guix-%.conf): Generalized former
  build-rules for by using patterns.
  (nodist_systemdservice_DATA): Add etc/guix-publish.service, update
  comment.
  (nodist_upstartjob_DATA): Add etc/guix-publish.conf, update comment.
* doc/guix.texi (Invoking guix publish): Add description for enabling
  "guix publish" on host distros using the new files.
2016-11-24 09:23:11 +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
David Craven 184497afec
build: Ignore texi2pdf temporary files.
* .gitignore: Modify.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-07-05 11:11:39 +02:00
Ludovic Courtès d038b674cf doc: Add "lightweight desktop" OS config example.
* gnu/system/examples/desktop.tmpl (packages): Remove XFCE and
RATPOISON.
(services): Add 'gnome-desktop-service' and 'xfce-desktop-service'.
* gnu/system/examples/lightweight-desktop.tmpl: New file.
* Makefile.am (EXAMPLES): Add it.
* doc.am (OS_CONFIG_EXAMPLES_TEXI): Add
doc/os-config-lightweight-desktop.texi.
* gnu/system/install.scm (/etc/configuration-files)[directory]: Add
lightweight-desktop.tmpl.
2016-03-23 00:23:12 +01:00
Mathieu Lirzin 8a76e5fff2 Update .gitignore.
* .gitignore: Sort lines.  Use globbing for "*.{eps,pdf,png,tar.xz}"
files.
2016-01-28 16:31:38 +01: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
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 6f305ea5fd guix system: Add 'dmd-graph' command.
* guix/scripts/system.scm (dmd-service-node-label,
  dmd-service-node-type, export-dmd-graph): New procedures.
  (show-help): Add 'dmd-graph'.
  (guix-system)[parse-sub-command]: Likewise.
  Honor it.
* doc/guix.texi (Invoking guix system): Document it.
  (dmd Services): Add an illustration and explanation.
* doc/images/dmd-graph.dot: New file.
* doc.am (DOT_FILES): Add it.
2015-10-14 21:39:06 +02:00
Ludovic Courtès 0adfe95a3e services: Introduce extensible services.
This patch rewrites GuixSD services to make them extensible.

* gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/services/dbus.scm.
* gnu/services.scm (<service>): Replace with new record type.
  (<service-extension>, <service-type>): New record types.
  (write-service-type, compute-boot-script, second-argument): New
  procedures.
  (%boot-service, boot-service-type): New variables.
  (file-union, directory-union, modprobe-wrapper,
  activation-service->script, activation-script,
  gexps->activation-gexp): New procedures.
  (activation-service-type, %activation-service): New variables.
  (etc-directory, files->etc-directory, etc-service): New procedures.
  (etc-service-type, setuid-program-service, firmware-service-type): New
  variables.
  (firmware->activation-gexp): New procedure.
  (&service-error, &missing-target-service-error,
  &ambiguous-target-service-error): New condition types.
  (service-back-edges, fold-services): New procedures.
* gnu/services/avahi.scm (<avahi-configuration>): New record type.
  (configuration-file): Replace keyword parameters with a single
  'config' parameter.
  (%avahi-accounts, %avahi-activation, avahi-service-type): New
  variables.
  (avahi-dmd-service): New procedure.
  (avahi-service): Rewrite using 'service' and 'avahi-configuration'.
* gnu/services/base.scm (%root-file-system-dmd-service,
  root-file-system-service-type): New variables.
  (root-file-system-service): Use them.
  (file-system->dmd-service-name): New procedure.
  (file-system-service-type): New variable.
  (file-system-service): Use it.  Replace keyword parameters with a
  single 'file-system' object.
  (user-unmount-service-type): New variable.
  (user-unmount-service): Use it.
  (user-processes-service-type): New variable.
  (user-processes-service): Use it.
  (host-name-service-type): New variable.
  (host-name-service): Use it.
  (console-keymap-service-type): New variable.
  (console-keymap-service): Use it.
  (console-font-service-type): New variable.
  (console-font-service): Use it.
  (mingetty-pam-service, mingetty-dmd-service): New procedures.
  (mingetty-service-type): New variable.
  (mingetty-service): Use it.
  (nscd-dmd-service): New procedure.
  (nscd-activation, nscd-service-type): New variables.
  (nscd-service): Use the latter.
  (syslog-service-type): New variable.
  (syslog-service): Use it.
  (<guix-configuration>): New record type.
  (%default-guix-configuration): New variable.
  (guix-dmd-service, guix-accounts, guix-activation): New procedures.
  (guix-service-type): New variable.
  (guix-service): Replace list of keyword parameters with a single
  'config' parameter.  Rewrite using 'service'.
  (<udev-configuration>): New record type.
  (udev-dmd-service): New procedure.
  (udev-service-type): New variable.
  (udev-service): Use it.
  (device-mapping-service-type): New variable.
  (device-mapping-service): Use it.
  (swap-service-type): New variable.
  (swap-service): Use it.
* gnu/services/databases.scm (<postgresql-configuration>): New record
  type.
  (%postgresql-accounts, postgresql-activation): New variables.
  (postgresql-dmd-service): New procedure.
  (postgresql-service): Rewrite using 'service' and
  'postgresql-configuration'.
* gnu/services/dbus.scm: New file.
* gnu/services/desktop.scm (dbus-configuration-directory, dbus-service):
  Remove.
  (wrapped-dbus-service): New procedure.
  (<upower-configuration>): New record type.
  (upower-configuration-file): Replace keyword parameters with single
  <upower-configuration> parameter.
  (%upower-accounts, %upower-activation): New variables.
  (upower-dbus-service, upower-dmd-service): New procedures.
  (upower-service-type): New variable.
  (upower-service): Rewrite using 'service' and 'upower-configuration'.
  (%colord-activation, %colord-accounts): New variables.
  (colord-dmd-service): New procedure.
  (colord-service-type): New variable.
  (colord-service): Rewrite using 'service'.
  (<geoclue-configuration>): New record type.
  (geoclue-configuration-file): Replace keyword parameters with a single
  'config' parameter.
  (geoclue-dbus-service, geoclue-dmd-service): New procedures.
  (%geoclue-accounts, geoclue-service-type): New variables.
  (geoclue-service): Rewrite using 'service' and
  'geoclue-configuration'.
  (%polkit-accounts, %polkit-pam-services, polkit-service-type): New
  variables.
  (polkit-dmd-service): New procedure.
  (polkit-service): Rewrite using 'service'.
  (<elogind-configuration>)[elogind]: New field.
  (elogind-dmd-service): New procedure.
  (elogind-service-type): New variable.
  (elogind-service): Rewrite using 'service'.
  (%desktop-services): Remove argument to 'dbus-service'.  Remove 'map'
  over %BASE-SERVICES.
* gnu/services/dmd.scm (dmd-boot-gexp): New procedure.
  (dmd-root-service-type, %dmd-root-service): New variables.
  (dmd-service-type): New macro.
  (<dmd-service>): New record type.
* gnu/services/lirc.scm (<lirc-configuration>): New record type.
  (%lirc-activation): New variable.
  (lirc-dmd-service): New procedure.
  (lirc-service-type): New variable.
  (lirc-service): Rewrite using 'service' and 'lirc-configuration'.
* gnu/services/networking.scm (<static-networking>): New record type.
  (static-networking-service-type): New variable.
  (static-networking-service): Rewrite using 'service' and
  'static-networking'.
  (dhcp-client-service-type): New variable.
  (dhcp-client-service): Rewrite using 'service'.
  (<ntp-configuration>): New record type.
  (ntp-dmd-service): New procedure.
  (ntp-service-type): New variable.
  (ntp-service): New procedure.
  (%tor-accounts, tor-service-type): New variable.
  (tor-dmd-service): New procedure.
  (tor-service): Rewrite using 'service'.
  (<bitlbee-configuration>): New record type.
  (bitlbee-dmd-service): New procedure.
  (%bitlbee-accounts, %bitlbee-activation, bitlbee-service-type): New
  variables.
  (bitlbee-service): Rewrite using 'service'.
  (%wicd-activation): New variable.
  (wicd-dmd-service): New procedure.
  (wicd-service-type): New variable.
  (wicd-service): Rewrite using 'service'.
* gnu/services/ssh.scm (<lsh-configuration>): New record type.
  (activation): Rename to...
  (lsh-initialization): ... this.
  (lsh-activation, lsh-dmd-service, lsh-pam-services): New procedures.
  (lsh-service-type): New variable.
  (lsh-service): Rewrite using 'service' and 'lsh-configuration'.
* gnu/services/web.scm (<nginx-configuration>): New record type.
  (%nginx-accounts): New variable.
  (nginx-activation, nginx-dmd-service): New procedures.
  (nginx-service-type): New variable.
  (nginx-service): Rewrite using 'service' and 'nginx-configuration'.
* gnu/services/xorg.scm (<slim-configuration>): New record type.
  (slim-pam-service, slim-dmd-service): New procedures.
  (slim-service-type): New variable.
  (slim-service): Rewrite using 'service' and 'slim-configuration'.
* gnu/system.scm (file-union): Remove.
  (other-file-system-services): Adjust to new 'file-system-service'
  signature.
  (essential-services): Add #:container? parameter.  Add
  %DMD-ROOT-SERVICE, %ACTIVATION-SERVICE, and calls to
  'pam-root-service', 'account-service', 'operating-system-etc-service',
  and a SETUID-PROGRAM-SERVICE instance.
  (operating-system-services): Pass #:container? to 'essential-services.
  (etc-directory): Remove.
  (operating-system-etc-service): New procedure.  Rewrite as a call to
  'etc-service'.
  (operating-system-accounts): Change to not return accounts required by
  services.
  (operating-system-etc-directory): Rewrite as a call to 'fold-services'
  and 'etc-directory'.
  (user-group->gexp, user-account->gexp, modprobe-wrapper): Remove.
  (operating-system-activation-script): Rewrite as a call to
  'fold-services' and 'activation-service->script'.
  (operating-system-boot-script): Likewise.
  (operating-system-derivation): Add call to 'lower-object'.
  (emacs-site-file, emacs-site-directory, shells-file): Change to use
  'computed-file' and 'scheme-file' instead of the monadic procedures.
* gnu/system/install.scm (cow-store-service-type): New variable.
  (cow-store-service): Rewrite using 'service'.
  (/etc/configuration-files): New procedure.
  (configuration-template-service-type,
  %configuration-template-service): New variables.
  (configuration-template-service): Remove.
  (installation-services): Adjust accordingly.  Adjust argument to
  'guix-service'.
* gnu/system/linux.scm (/etc-entry, pam-root-service): New procedures.
  (pam-root-service-type): New variable.
* gnu/system/shadow.scm (user-group->gexp, user-account->gexp,
  account-activation, etc-skel, account-service): New procedures.
  (account-service-type): New variable.
* tests/services.scm: New file.
* doc/guix.texi (Base Services, Desktop Services): Adjust accordingly.
  (Defining Services): Rewrite.
* doc/images/service-graph.dot: New file.
* doc.am (DOT_FILES): Add it.
* po/guix/POTFILES.in: Add gnu/services.scm.
2015-10-10 22:55:15 +02:00
Mathieu Lirzin bd6163d13f build: Produce 'guix-config' instead of using compile-time tricks.
* emacs/guix-{init,profiles}.el.in: Rename to ...
* emacs/guix-{init,profiles}.el: ... these.  New files.
  Use 'guix-config'.
* emacs/guix-config.el.in: New file.
* emacs.am (nodist_lisp_DATA): Add it.  Move them to ...
  (ELFILES): ... here.
* .gitignore, configure.ac: Adjust accordingly.
2015-08-30 19:20:12 +02:00
Ludovic Courtès 888569161c Add 'guix graph'.
* guix/scripts/graph.scm, tests/graph.scm, tests/guix-graph.sh,
  doc/images/coreutils-bag-graph.dot, doc/images/coreutils-graph.dot: New
  files.
* Makefile.am (MODULES): Add guix/scripts/graph.scm.
  (SH_TESTS): Add tests/guix-graph.sh.
  (SCM_TESTS): Add tests/graph.scm.
* doc.am (DOT_FILES, DOT_VECTOR_GRAPHICS): New variables.
  (EXTRA_DIST): Use them.
  (dist_infoimage_DATA): Use $(DOT_FILES).
  (pdf-local, info-local, ps-local): Likewise.
* doc/guix.texi (Packages with Multiple Outputs): Add cross-reference to 'guix
  graph'.
  (Invoking guix gc): Likewise.
  (Invoking guix graph): New section.
2015-08-27 00:49:23 +02:00
Ludovic Courtès d2825c9614 Add 'guix-daemon.service' file for systemd.
* etc/guix-daemon.service.in: New file, provided by Ricardo Wurmus.
* daemon.am (CLEANFILES): Add etc/guix-daemon.service.
  (systemdservicedir, nodist_systemdservice_DATA): New variables.
  (EXTRA_DIST): Add etc/guix-daemon.service.in.
* doc/guix.texi (Binary Installation, Build Environment Setup): Mention
  'guix-daemon.service'.
2015-07-15 23:57:01 +02:00
Mathieu Lirzin 7eff42432b Prevent Git from silently ignoring new files.
* .gitignore: Ignore only specific files instead of the whole
  'build-aux' directory.
2015-07-07 20:01:35 +02:00
David Thompson a26d3ba357 Ignore man page build artifacts. 2015-06-02 20:58:37 -04:00
Ludovic Courtès 6dc67c02f7 Augment '.gitignore'. 2015-05-25 22:56:57 +02:00
Ludovic Courtès dd51caac55 doc: Show both the "bare-bones" and the "desktop" configurations.
* doc/guix.texi (System Installation): Add xref to "Using the
  Configuration System" instead of including one here.
  (Using the Configuration System): Remove first example, and include
  os-config-bare-bones.texi instead.  Include os-config-desktop.texi as
  a second example.
* doc.am (OS_CONFIG_EXAMPLES_TEXI): New variable.
  (BUILT_SOURCES, EXTRA_DIST, MAINTAINERCLEANFILES): Use it.
  (doc/os-config.texi): Remove.
  (doc/os-config-%.texi): New target.
2015-05-09 23:53:36 +02:00
Ludovic Courtès 2c74fde00e Rename 'guix substitute-binary' to 'guix substitute'.
* guix/scripts/substitute-binary.scm: Rename to...
* guix/scripts/substitute.scm: ... this.  Adjust module name, entry
  point, comments, and help string accordingly.
* nix/scripts/substitute-binary.in: Rename to...
* nix/scripts/substitute.in: ... this.
* pre-inst-env.in (NIX_SUBSTITUTERS): Adjust accordingly.
* tests/substitute-binary.scm: Rename to...
* tests/substitute.scm: ... this.  Adjust references to (guix scripts
  substitute) accordingly.
* guix/ui.scm (show-guix-help)[internal?]: Change "substitute-binary" to
  "substitute".
* Makefile.am (MODULES, SCM_TESTS): Adjust to file renames.
* daemon.am (nodist_pkglibexec_SCRIPTS): Likewise.
* config-daemon.ac: Likewise.
* guix/tests.scm (call-with-derivation-narinfo): Adjust comments and
  docstring.
2015-03-25 10:46:22 +01:00
Mark H Weaver aa1e19477b gnu: Add bootstrap binaries for 'armhf-linux'.
* gnu/packages/bootstrap/armhf-linux/bash,
  gnu/packages/bootstrap/armhf-linux/mkdir,
  gnu/packages/bootstrap/armhf-linux/tar,
  gnu/packages/bootstrap/armhf-linux/xz: New files.

* gnu-system.am (bootstrap_armhf_linuxdir, dist_bootstrap_armhf_linux_DATA)
  (nodist_bootstrap_armhf_linux_DATA): New variables.
  (DISTCLEANFILES): Add $(nodist_bootstrap_armhf_linux_DATA).
  (gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz): New target.
* build-aux/download.scm (file-name->uri): Use newer date in URI for
  armhf-linux.
* gnu/packages/bootstrap.scm (raw-build): Use "guile-2.0.11.tar.xz" on
  armhf-linux.
  (glibc-dynamic-linker, %bootstrap-coreutils&co, %bootstrap-binutils)
  (%bootstrap-glibc, %bootstrap-gcc): Add armhf-linux cases.

* m4/guix.m4 (GUIX_SYSTEM_TYPE): Add armhf case.
  (GUIX_ASSERT_SUPPORTED_SYSTEM): Add armhf-linux to list of
  supported systems.
* doc/guix.texi (GNU Distribution): Add armhf-linux to the list of
  supported systems.
2015-01-07 21:47:51 -05:00
Alex Kost 3db349cb09 emacs: Move profiles code to "guix-profiles.el.in".
* emacs/guix-base.el (guix-user-profile, guix-default-profile,
  guix-current-profile, guix-profile-prompt, guix-set-current-profile): Move
  to...
* emacs/guix-init.el.in (guix-default-profile): Move to...
* emacs/guix-profiles.el.in: ... here.  New file.
* configure.ac (AC_CONFIG_FILES): Add "emacs/guix-profiles.el".
* emacs.am (nodist_lisp_DATA): Likewise.
2014-12-02 22:09:22 +03:00
Alex Kost 457f60fa06 Add Emacs user interface.
* configure.ac (emacsuidir): New variable.
  (AC_CONFIG_FILES): Add 'emacs/guix-init.el', 'emacs/guix-helper.scm'.
* Makefile.am: Include 'emacs.am'.
* emacs.am: New file.
* doc/emacs.texi: New file.
* doc/guix.texi: Include 'emacs.texi'.
* emacs/guix-backend.el: New file.
* emacs/guix-base.el: New file.
* emacs/guix-helper.scm.in: New file.
* emacs/guix-history.el: New file.
* emacs/guix-info.el: New file.
* emacs/guix-init.el.in: New file.
* emacs/guix-list.el: New file.
* emacs/guix-main.scm: New file.
* emacs/guix-utils.el: New file.
* emacs/guix.el: New file.
2014-09-03 23:50:35 +04:00
Ludovic Courtès ee76417972 Separate package description translations from string translations.
* po/packages/LINGUAS, po/packages/Makevars, po/packages/POTFILES.in:
  New files.
* po/guix/Makevars (DOMAIN): Change to "guix".
  (XGETTEXT_OPTIONS): Remove "--keyword=synopsis --keyword=description".
* po/guix/POTFILES.in: Remove gnu/packages/*.scm.
* configure.ac: Change to gettext 0.18.3.  Produce
  po/packages/Makefile.in.
* Makefile.am (SUBDIRS): Add po/packages.
* guix/ui.scm (%package-text-domain): New variable.
  (P_): New procedure.
  (package->recutils): Use 'P_' instead of '_'.
* guix/scripts/package.scm (find-packages-by-description): Use 'P_'
  instead of 'gettext'.
2014-06-13 17:30:40 +02:00
Ludovic Courtès ef1a9bb7d6 Move gettext files to 'po/guix'.
* po: Rename to...
* po/guix: ... this.
* po/guix/Makevars (subdir, top_builddir): Adjust accordingly.
* configure.ac: Change 'po/Makefile.in' to 'po/guix/Makefile.in'.
* Makefile.am (SUBDIRS): Change 'po' to 'po/guix'.
2014-06-13 16:31:18 +02:00
Mark H Weaver aaab995948 Update .gitignore for Guile 2.0.9 bootstrap binaries.
* .gitignore: Change version number in ignored Guile bootstrap
  binaries from 2.0.7 to 2.0.9.
2014-02-16 16:40:08 -05:00
Ludovic Courtès 49e6291a7a Add 'guix offload' as a daemon build hook.
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_NO_BUILD_HOOK): New macro.
  (options): Add '--no-build-hook'.
  (parse_opt): Handle it.
  (main)[HAVE_DAEMON_OFFLOAD_HOOK]: Set 'useBuildHook' by default.
  Set $NIX_BUILD_HOOK to our offload hook unless otherwise specified.
  [!HAVE_DAEMON_OFFLOAD_HOOK]: Clear 'useBuildHook'.
* pre-inst-env.in: Set and export NIX_BUILD_HOOK.
* nix/scripts/offload.in, guix/scripts/offload.scm: New files.
* guix/ui.scm (show-guix-help)[internal?]: Add "offload".
* config-daemon.ac: Call 'GUIX_CHECK_UNBUFFERED_CBIP'.
  Instantiate 'nix/scripts/offload'.  Set 'BUILD_DAEMON_OFFLOAD'
  conditional, and optionally define 'HAVE_DEAMON_OFFLOAD_HOOK' cpp
  macro.
* daemon.am (nodist_pkglibexec_SCRIPTS)[BUILD_DAEMON_OFFLOAD]: Add it.
* Makefile.am (MODULES)[BUILD_DAEMON_OFFLOAD]: Add
  'guix/scripts/offload.scm'.
  (EXTRA_DIST)[!BUILD_DAEMON_OFFLOAD]: Likewise.
* m4/guix.m4 (GUIX_CHECK_UNBUFFERED_CBIP): New macro.
* doc/guix.texi (Setting Up the Daemon): Move most of the body to...
  (Build Environment Setup): ... this.  New subsection.
  (Daemon Offload Setup): New subsection.
2014-01-24 00:01:50 +01:00
Ludovic Courtès 526382ff92 daemon: Implement signed archive import/export.
* guix/scripts/authenticate.scm, nix/scripts/guix-authenticate.in,
  tests/signing-key.pub, tests/signing-key.sec: New files.
* po/POTFILES.in: Add 'guix/scripts/authenticate.scm'.
* guix/store.scm (dump-port): New procedure.
  (process-stderr): Add 'user-port' optional parameter.  Handle
  the %STDERR-WRITE and %STDERR-READ cases as expected.
  (import-paths, export-path, export-paths): New procedures.
* tests/store.scm ("export/import several paths", "import corrupt
  path"): New tests.
* Makefile.am (MODULES): Add 'guix/scripts/authenticate.scm'.
  (EXTRA_DIST): Add 'tests/signing-key.{pub,sec}'.
* daemon.am (libstore_a_CPPFLAGS)[-DNIX_CONF_DIR]: Change 'NIX_CONF_DIR'
  to .../guix.  Change 'OPENSSL_PATH' to 'guix-authenticate'.
* config-daemon.ac: Instantiate 'nix/scripts/guix-authenticate'.
* nix/nix-daemon/guix-daemon.cc (main): Augment $PATH to include
  'settings.nixLibexecDir'.
* test-env.in: Export 'NIX_CONF_DIR' and 'NIX_LIBEXEC_DIR'.  Populate
  $NIX_CONF_DIR.
2013-12-20 17:17:42 +01:00
Ludovic Courtès 7b63fa8d15 Augment 'gitignore'. 2013-12-04 16:07:53 +01:00
Mark H Weaver f57ff219ad gnu: add bootstrap support for mips64el-linux using the MIPS N32 ABI.
* .gitignore: Add entry for bootstrap/mips64el-linux/guile-2.0.9.tar.xz.

* gnu-system.am (bootstrap_mips64el_linuxdir,
  dist_bootstrap_mips64el_linux_DATA, nodist_bootstrap_mips64el_linux_DATA):
  New variables.
  (DISTCLEANFILES): Add $(nodist_bootstrap_mips64el_linux_DATA).
  (gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): New target.

* build-aux/download.scm (file-name->uri): Adapt to the newer mips64el-linux
  bootstrap tarballs.

* gnu/packages/bootstrap.scm (%bootstrap-guile, %bootstrap-coreutils&co,
  %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Adapt to the newer
  mips64el-linux bootstrap tarballs.

* gnu/packages/bootstrap/mips64el-linux/bash:
* gnu/packages/bootstrap/mips64el-linux/mkdir:
* gnu/packages/bootstrap/mips64el-linux/tar:
* gnu/packages/bootstrap/mips64el-linux/xz: New files.
2013-11-03 23:26:53 -05:00
Ludovic Courtès a7a4e6a4f7 Add 'guix-register'.
* nix/guix-register/guix-register.cc, tests/guix-register.sh: New
  files.
* Makefile.am (SH_TESTS)[BUILD_DAEMON]: Add tests/guix-register.sh.
* daemon.am (sbin_PROGRAMS, guix_register_SOURCES,
  guix_register_CPPFLAGS, guix_register_LDADD): New variables.
* test-env.in: Export 'storedir', 'prefix', 'datarootdir', 'datadir',
  and 'localstatedir'.
2013-09-23 00:33:50 +02:00