Commit graph

98 commits

Author SHA1 Message Date
Ludovic Courtès
36626c556e
build: Require Guile >= 2.0.9.
* configure.ac: Bump requirement to 2.0.9.
* doc/guix.texi (Requirements): Adjust accordingly.
* README (Requirements): Likewise.
* build-aux/download.scm: Remove workaround for <http://bugs.gnu.org/13095>.
* guix/build/download.scm: Likewise.
(http-fetch)[post-2.0.7?]: Remove.  Remove conditional code for not
POST-2.0.7?.
* guix/http-client.scm:  Remove workaround for <http://bugs.gnu.org/13095>.
(http-fetch)[post-2.0.7?]: Remove.  Remove conditional code for not
POST-2.0.7?.
* guix/serialization.scm (read-latin1-string): Remove mention of 2.0.9.
* tests/nar.scm: Use (ice-9 control).
(let/ec): Remove.
2017-03-18 00:39:49 +01:00
Ludovic Courtès
608e42e7c9
build: Prefer Guile 2.2 over 2.0.
* configure.ac: In 'GUILE_PKG', prefer 2.2 over 2.0.  Remove warning
about 2.2 not being fully supported.
* doc/guix.texi (Requirements): Mention Guile 2.2.x.
2017-03-15 15:19:54 +01:00
Ludovic Courtès
1dbe3a8db0
build: GnuTLS is now a hard dependency.
Discussed as part of <https://bugs.gnu.org/25975>.

* configure.ac: Check for (gnutls) and error out if it's missing.
* doc/guix.texi (Requirements): Move GnuTLS from optional to required.
(Substitutes): Remove footnote about the need for GnuTLS.
2017-03-12 00:40:15 +01:00
Ludovic Courtès
d480ed7edb
build: Warn about lack of substitutes for non-standard stores.
* configure.ac: Emit a warning when $storedir is not "/gnu/store".
2017-02-07 14:53:24 +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
Ludovic Courtès
987a29ba43
Add (guix ssh) module.
* guix/scripts/offload.scm (connect-to-remote-daemon)
(store-import-channel, store-export-channel, send-files)
(retrieve-files): Move to (guix ssh).
(nonce): Add optional 'name' parameter and use it.
(retrieve-files*): New procedure.
(transfer-and-offload): Use it instead of 'retrieve-files', and add
first parameter to 'send-files'.
(assert-node-can-import): Likewise.
(assert-node-can-export): Use 'retrieve-files' instead of
'store-export-channel'.
* guix/ssh.scm: New file.
* configure.ac: Use 'GUIX_CHECK_GUILE_SSH' and define 'HAVE_GUILE_SSH'
Automake conditional.
* Makefile.am (MODULES) [HAVE_GUILE_SSH]: Add guix/ssh.scm.
2016-12-31 01:44:04 +01:00
Alex Kost
deb6276dda
Remove Emacs interface.
* emacs/guix-about.el: Remove file.
* emacs/guix-backend.el: Likewise.
* emacs/guix-base.el: Likewise.
* emacs/guix-buffer.el: Likewise.
* emacs/guix-build-log.el: Likewise.
* emacs/guix-command.el: Likewise.
* emacs/guix-config.el.in: Likewise.
* emacs/guix-devel.el: Likewise.
* emacs/guix-entry.el: Likewise.
* emacs/guix-external.el: Likewise.
* emacs/guix-geiser.el: Likewise.
* emacs/guix-guile.el: Likewise.
* emacs/guix-help-vars.el: Likewise.
* emacs/guix-helper.scm.in: Likewise.
* emacs/guix-history.el: Likewise.
* emacs/guix-hydra-build.el: Likewise.
* emacs/guix-hydra-jobset.el: Likewise.
* emacs/guix-hydra.el: Likewise.
* emacs/guix-info.el: Likewise.
* emacs/guix-init.el: Likewise.
* emacs/guix-license.el: Likewise.
* emacs/guix-list.el: Likewise.
* emacs/guix-location.el: Likewise.
* emacs/guix-main.scm: Likewise.
* emacs/guix-messages.el: Likewise.
* emacs/guix-pcomplete.el: Likewise.
* emacs/guix-popup.el: Likewise.
* emacs/guix-prettify.el: Likewise.
* emacs/guix-profiles.el: Likewise.
* emacs/guix-read.el: Likewise.
* emacs/guix-ui-generation.el: Likewise.
* emacs/guix-ui-license.el: Likewise.
* emacs/guix-ui-location.el: Likewise.
* emacs/guix-ui-package.el: Likewise.
* emacs/guix-ui-system-generation.el: Likewise.
* emacs/guix-ui.el: Likewise.
* emacs/guix-utils.el: Likewise.
* emacs/local.mk: Likewise.
* doc/emacs.texi: Likewise.
* doc/guix.texi: Remove cross-references to Emacs nodes.
(Package Management): Mention 'emacs-guix' package.
* doc/contributing.texi (The Perfect Setup): Remove the reference.
* doc/htmlxref.cnf: Add 'emacs-guix' URL.
* Makefile.am: Remove Emacs stuff.
* configure.ac: Likewise.
* gnu/packages/package-management.scm (guix-0.12.0)[native-inputs]:
Remove "emacs".
[propagated-inputs]: Remove "geiser" and "emacs-magit-popup".

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-12-29 23:40:24 +03:00
Ricardo Wurmus
bd6ff5b42b
build: Bump version number.
* configure.ac: Change version to 0.12.0.
2016-12-20 12:29:13 +01:00
Ludovic Courtès
301d73f68c
build: 'guilemoduledir' honors $GUILE_EFFECTIVE_VERSION.
* configure.ac: Define 'guilemoduledir' as a function of
$GUILE_EFFECTIVE_VERSION.
2016-10-25 14:00:33 +02:00
Ludovic Courtès
9d126aa2b5
build: Allow builds with Guile 2.2.
Reported by Mu Lei.

* configure.ac: Use 'GUILE_PKG', allowing 2.2.
Use 'GUILE_PROGS' instead of 'AC_PATH_PROG'.
2016-09-20 23:36:53 +09:00
Eric Le Bihan
96dbc93089
Add Zsh completion file.
* etc/completion/zsh/_guix: New file.
* Makefile.am (dist_zshcompletion_DATA): New variable.
* configure.ac: Add --with-zsh-completion-dir.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-09-07 16:08:20 +02:00
Mark H Weaver
0bab3af078
Merge branch 'master' into core-updates 2016-07-29 14:18:07 -04:00
Ludovic Courtès
bd883da3e3
build: Bump version number.
* configure.ac: Change version to 0.11.0.
2016-07-29 10:15:56 +02:00
Ludovic Courtès
7575655212
Merge branch 'master' into core-updates 2016-07-20 11:42:17 +02:00
Ludovic Courtès
721539026d
Add (guix zlib).
* guix/zlib.scm, tests/zlib.scm: New files.
* Makefile.am (MODULES): Add guix/zlib.scm.
(SCM_TESTS): Add tests/zlib.scm.
* m4/guix.m4 (GUIX_LIBGCRYPT_LIBDIR): New macro.
* configure.ac (LIBGCRYPT_LIBDIR): Use it.  Define and substitute
'LIBZ'.
* guix/config.scm.in (%libz): New variable.
2016-07-19 00:07:12 +02:00
Manolis Ragkousis
875715cabf
build: Remove unneeded conditionals for (guix build syscalls).
* m4/guix.m4: Remove 'GUIX_CHECK_LIBC_MOUNT'.
* configure.ac: Remove 'BUILD_SYSCALLS_MODULE'.
* Makefile.am (MODULES): Add 'guix/build/syscalls.scm'.
  (EXTRA_DIST): Remove conditional on BUILD_SYSCALLS_MODULE.
2016-06-23 17:25:37 +03:00
Mathieu Lirzin
a1097caa6a build: Move environment '.in' scripts to 'build-aux' directory.
* pre-inst-env.in: Move to ...
* build-aux/pre-inst-env.in: ... here.
* test-env.in: Move to ...
* build-aux/test-env.in: ... here.
* configure.ac (AC_CONFIG_FILES): Adapt to this.  Keep the generated
scripts in their current location which is $(top_builddir).
2016-04-15 00:59:07 +02:00
Ludovic Courtès
aeaa5ccbf4 build: Bump version number.
* configure.ac: Change version to 0.10.0.
2016-03-24 23:04:37 +01:00
Ludovic Courtès
bb25130764 build: 'make check' errors out if file name limits would be hit.
* Makefile.am (SCM_TESTS, SH_TESTS, TESTS, AM_TESTS_ENVIRONMENT)
(SCM_LOG_COMPILER, SH_LOG_COMPILER, AM_SCM_LOG_FLAGS)
(AM_SH_LOG_FLAGS): Move within 'if CAN_RUN_TESTS'.
(check-local) [!CAN_RUN_TESTS]: New target.
* daemon.am (AM_TESTS_ENVIRONMENT, TESTS): Ditto.
* m4/guix.m4 (GUIX_CHECK_FILE_NAME_LIMITS): Add parameter and set it.
2016-01-12 17:47:36 +01:00
Ludovic Courtès
03cea32031 build: Bump version number.
* configure.ac: Change version to 0.9.1.
2016-01-05 23:55:26 +01:00
Ludovic Courtès
cd48eae560 build: Always check for gzip/bzip2/xz.
This allows (guix config) to contain valid values of %GZIP et al. even
when configured with --disable-daemon.

* config-daemon.ac: Move 'AC_PATH_PROG' invocations for
gzip & co. to...
* configure.ac: ... here.
2015-12-09 22:18:47 +01:00
Alex Kost
51805219a5 build: Set DOT_USER_PROGRAM for Emacs interface.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* configure.ac: Set DOT_USER_PROGRAM variable.
* emacs/guix-config.el.in (guix-config-dot-program): New constant.
* emacs/guix-external.el (guix-dot-program): Use it.
2015-10-20 16:47:05 +03:00
Ludovic Courtès
ca34fc317f build: Fix libgcrypt detection on FHS systems.
Reported by Christopher Allan Webber <cwebber@dustycloud.org>.

* m4/guix.m4 (GUIX_LIBGCRYPT_LIBDIR): Add "grep -e -L" to the pipeline
  to account for cases where the output of "libgcrypt-config --libs"
  lacks a -L flag.
* configure.ac: When 'GUIX_LIBGCRYPT_LIBDIR' returns the empty string,
  set LIBGCRYPT_LIBDIR to "no".
* config-daemon.ac: Add missing space.
2015-10-09 20:57:24 +02:00
Ludovic Courtès
dd01fecd23 build: Automatically determine libgcrypt's file name.
* m4/guix.m4 (GUIX_LIBGCRYPT_LIBDIR): New macro.
* configure.ac: Use it when no --with-libgcrypt-* option was passed.
* README: Do not recommend --with-libgcrypt-prefix.

Co-authored-by: 宋文武 <iyzsong@gmail.com>
2015-10-06 23:51:04 +02:00
Ludovic Courtès
abbe2c61cf build: Bump version number.
* configure.ac: Change version to 0.9.0.
2015-09-25 17:05:07 +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
12e5b26643 build: Do not build (guix build syscalls) if 'mount' is missing from libc.
This disables compilation of this module on GNU/Hurd.
Reported by Manolis Ragkousis <manolis837@gmail.com>.

* m4/guix.m4 (GUIX_CHECK_LIBC_MOUNT): New variable.
* configure.ac: Use it.  Define 'BUILD_SYSCALLS_MODULE' conditional.
* Makefile.am (MODULES, EXTRA_DIST): Make 'guix/build/syscalls.scm'
  conditional on BUILD_SYSCALLS_MODULE.
2015-08-27 00:49:23 +02:00
Mathieu Lirzin
8c01b9d05a doc: Move most 'HACKING' informations into the manual.
* HACKING (Contributing): New section.
  (Building from Git, The Perfect Setup, Coding Style, Submitting Patches):
  Move to ...
* doc/guix.texi (Running Guix Before It Is Installed): Likewise.
* doc/contributing.texi: ... here. New file.
* doc.am (EXTRA_DIST): Use it.
* README (Installation): Adapt to it.
* configure.ac (DOT): Likewise.
2015-06-14 01:44:54 +02:00
Ludovic Courtès
366801afd5 build: Bump version number.
* configure.ac: Change version to 0.8.3.
2015-06-03 14:30:12 +02:00
Ludovic Courtès
52eca736f6 build: Build and install manual pages.
* configure.ac: Use 'AM_MISSING_PROG' for 'help2man'.
* doc.am (subcommand-manual-target, SUBCOMMANDS, dist_man1_MANS): New
  variables.
  (doc/guix-$(1).1, doc/guix.1): New targets.
2015-06-01 22:37:54 +02:00
Ludovic Courtès
47c66da00b build: Require Guile >= 2.0.7.
* configure.ac: Require guile-2.0 >= 2.0.7.
* README: Adjust accordingly.
* doc/guix.texi (Requirements): Likewise.
2015-05-10 11:07:51 +02:00
Ludovic Courtès
a84e523c4a build: Silence warnings about 'make' portability.
* configure.ac: Pass -Wno-portability to AM_INIT_AUTOMAKE.
2015-04-14 23:20:18 +02:00
Ludovic Courtès
ee3e157dec Add Bash completion file.
* etc/completion/bash/guix: New file.
* Makefile.am (dist_bashcompletion_DATA): New variable.
* configure.ac: Add --with-bash-completion-dir.
2015-04-09 23:44:14 +02:00
Ludovic Courtès
032c7c5f78 build: Enable silent rules by default.
* configure.ac: Use 'AM_SILENT_RULES'.
2015-04-08 10:42:48 +02:00
Ludovic Courtès
0e991c25d6 build: Detect lack of guile.m4 at autoconf time.
* configure.ac: Add 'm4_pattern_forbid' invocation.
2015-03-19 23:15:50 +01:00
Ludovic Courtès
fe3df05091 build: Bump version number.
* configure.ac: Change to version 0.8.2.
2015-02-26 00:04:36 +01:00
Ludovic Courtès
2178ed66f7 build: Reject or warn against file name length limit overruns.
* m4/guix.m4 (GUIX_TEST_ROOT_DIRECTORY, LINUX_HASH_BANG_LIMIT,
  SOCKET_FILE_NAME_LIMIT, GUIX_SOCKET_FILE_NAME_LENGTH,
  GUIX_TEST_SOCKET_FILE_NAME_LENGTH, GUIX_HASH_BANG_LENGTH,
  GUIX_CHECK_FILE_NAME_LIMITS): New macros.
* configure.ac: Use 'GUIX_CHECK_FILE_NAME_LIMITS'.
* config-daemon.ac: Use 'GUIX_TEST_ROOT_DIRECTORY'.
* test-env.in: Check socket name length and emit warning if it exceeds
  107.
2015-02-24 23:43:03 +01:00
Ludovic Courtès
842e0b95f4 build: Change version to 0.8.1.
* configure.ac: Change version to 0.8.1.
2015-01-23 16:29:20 +01: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
Ludovic Courtès
c63bc533c1 build: Bump version number.
* configure.ac: Bump to 0.9.
2014-11-25 18:01:59 +01:00
David Thompson
1b3e968512 import: Add PyPI importer.
* guix/snix.scm: Delete.
* guix/import/snix.scm: New file.
* guix/import/pypi.scm: New file.
* guix/import/utils.scm: New file.
* guix/scripts/import/nix.scm: New file.
* guix/scripts/import/pypi.scm: New file.
* tests/pypi.scm: New file.
* tests/snix.scm: Import (guix import snix) module.
* guix/scripts/import.scm (%default-options, %options): Delete.
  (%standard-import-options, importers): New variables.
  (show-help): List importers.
  (guix-import): Factor out Nix-specific logic.  Delegate to correct importer
  based upon first argument.
* configure.ac (HAVE_GUILE_JSON): New conditional.
* Makefile.am (MODULES): Add new files and remove 'guix/snix.scm'.
  (SCM_TESTS): Add 'tests/pypi.scm' if guile-json is installed.
2014-09-29 19:30:28 -04:00
Ludovic Courtès
596fcbf768 build: Don't generate Emacs autoloads when Emacs is unavailable.
Reported by Andreas Enge.

* configure.ac: Define 'HAVE_EMACS' Automake conditional.
* emacs.am ($(AUTOLOADS)): Wrap in 'if HAVE_EMACS'.
2014-09-27 17:27:21 +02: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
5f28f6aab4 build: Bump to version 0.8.
* configure.ac: Switch to 0.8.
2014-07-25 13:47:09 +02:00
Andreas Enge
5ac12a4f77 Require only lower gettext version.
* configure.ac: Change back to requiring gettext at least 0.18.1, partially
    reverting commit ee76417.
2014-07-22 21:35:07 +02: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
Ludovic Courtès
a3977466db build: Fix builds without --with-libgcrypt-prefix nor --with-libgcrypt-libdir.
Reported by Manolis Ragkousis <manolis837@gmail.com>.
Fixes a regression introduced in 14af289.

Before this commit, ./configure would leave LIBGCRYPT_PREFIX and
LIBGCRYPT_LIBDIR undefined, leading to LIBGCRYPT_LIBS="-L -lgcrypt" and
thus to a link failure.

* configure.ac: Make sure $LIBGCRYPT_PREFIX and $LIBGCRYPT_LIBDIR are
  never empty.
2014-05-22 10:38:41 +02:00
Ludovic Courtès
14af289ed9 build: Add --with-libgcrypt-libdir=DIR to support Debian's multi-arch layout.
* configure.ac: Remove 'LIBGCRYPT_PREFIX' and use 'LIBGCRYPT_LIBDIR'
  instead.  Add --with-libgcrypt-libdir=DIR option.
* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Pass
  '--with-libgcrypt-libdir'.
* config-daemon.ac: Honor $LIBGCRYPT_LIBDIR when computing
  LIBGCRYPT_LIBS.
2014-05-17 16:23:01 +02:00