build: Add 'waf-build-system'.
* guix/build-system/waf.scm,
guix/build/waf-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document waf-build-system.
Add support for 'cvs-fetch' method in origins.
* guix/cvs-download.scm, guix/build/cvs.scm: New files.
* Makefile.am (MODULES): Add them.
gnu: Add GCJ
* gnu/packages/gcc.scm (gcj-4.8, ecj-bootstrap-4.8): New variables.
* gnu/packages/javac.in: New file.
* gnu-system.am (MISC_DISTRO_FILES): Add it.
* Makefile.am (nobase_dist_guilemodule_DATA): Add MISC_DISTRO_FILES.
build: Unset 'GUIX_PACKAGE_PATH' in 'sync-descriptions'.
* Makefile.am (sync-descriptions): Clear 'GUIX_PACKAGE_PATH'.
Add (guix gcrypt).
* guix/gcrypt.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/pk-crypto.scm: Use it.
(libgcrypt-func, gcrypt-version): Remove.
Merge branch 'master' into core-updates
Add (guix sets).
* guix/sets.scm, tests/sets.scm: New files.sets
* Makefile.am (MODULES, SCM_TESTS): Add them.
Merge branch 'master' into core-updates
import: Add CPAN importer.
* guix/import/cpan.scm, guix/scripts/import/cpan.scm, tests/cpan.scm:
New files.
* Makefile.am (MODULE)[HAVE_GUILE_JSON]: Add them.
* guix/scripts/import.scm (importers): Add cpan.
* doc/guix.texi (Requirements): Mention `guix import cpan` as a user
of guile-json.
(Invoking guix import): Document new `guix import cpan` command.
import: Factorize utility functions.
* guix/import/pypi.scm (hash-table->alist, flatten, assoc-ref*,
url-fetch, json-fetch): Pull procedures from here into...
* guix/import/utils.scm: Here and...
* guix/import/json.scm: Here. New file.
* Makefile.am (MODULE)[HAVE_GUILE_JSON]: Add it.
* guix/import/gnu.scm (file-sha256): Move from here to...
* guix/hash.scm: Here.
* tests/pypi.scm (pypi->guix-package): Update mock module reference.
Merge branch 'master' into 'core-updates'.
build: Make sure the installed 'config.go' is newer than 'config.scm'.
Fixes <http://bugs.gnu.org/19317>.
Reported by rekado <rekado@elephly.net>.
* gnu-system.am (install-data-hook): Rename to...
(set-bootstrap-executable-permissions): ... this.
* Makefile.am (install-data-hook): New target.
Add (guix elf).
* guix/elf.scm: New file. Taken from Guile 'master', commit 3f826e3.
* Makefile.am (MODULES): Add it.
* THANKS: Thank Andy, who wrote this module.
lint: Fold 'sync-descriptions' script as 'gnu-description' lint checker.
* build-aux/sync-descriptions.scm: Remove. Move payload to...
* guix/scripts/lint.scm: ... here.
(escape-quotes, official-gnu-packages*,
check-gnu-synopsis+description): New procedures.
(%checkers): Add 'gnu-descriptions'.
* Makefile.am (EXTRA_DIST): Remove build-aux/sync-descriptions.scm.
(sync-descriptions): Use 'guix lint'.
build: Add guix/tests.scm to the distribution.
* Makefile.am (noinst_DATA): Rename to...
(dist_noinst_DATA): ... this.
import: Add GNU importer.
Suggested by Karl Berry <karl@gnu.org>
and Andreas Enge <andreas@enge.fr>.
* guix/import/gnu.scm, guix/scripts/import/gnu.scm: New files.
* Makefile.am (MODULES): Add them.
* guix/scripts/import.scm (importers): Add "gnu".
* guix/gnu-maintenance.scm (gnu-release-archive-types): New procedure.
(download-tarball): Export.
pull: Use the build procedure provided by the newly-downloaded Guix.
Fixes <http://bugs.gnu.org/18534>.
* guix/scripts/pull.scm (with-environment-variable, with-PATH): New
macros.
(temporary-directory, first-directory, interned-then-deleted): New
procedures.
(unpack): Rewrite to do the unpacking in the current process rather
than as a separate derivation.
(%self-build-file): New variable.
(build-from-source): New procedure.
(build-and-install): Use it.
* guix/build/pull.scm (build-guix): Rename 'tarball' argument to
'source'. Remove #:tar and #:gzip parameters, as well as 'tar'
invocation. Remove 'scandir' invocation. Wrap body in
'with-directory-excursion'.
* build-aux/build-self.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
guix lint: add the --checkers option.
* guix/scripts/lint.scm: add the "--checkers" option.
* doc/guix.texi (Invoking guix lint): Document it.
* tests/guix-lint.sh: New file
* Makefile.am (SCM_TESTS): Add it.
scripts: Add 'environment' command.
* guix/scripts/environment.scm: New file.
* Makefile.am (MODULES): Add it.
* doc/guix.texi ("Invoking guix environment"): New node.