import: cpan: Fix license string for Artistic license. * guix/import/cpan.scm (string->license): Remove extraneous "_0" suffix for Artistics licenses.
Merge branch 'master' into core-updates
import: Add hackage importer. * guix/import/hackage.scm: New file. * tests/hackage.scm: New file.
Merge branch 'master' into core-updates
import: cpan: Change %corelist into a promise. Fixes compilation failures in 'guix pull'. * guix/import/cpan.scm (%corelist): Change it to a promise by wrapping it with 'delay'. (cpan-module->sexp): Adapt uses of %corelist by wrapping with 'force'.
import: cpan: Use cpan mirror url. * guix/import/cpan.scm (cpan-module->sexp)[source-url]: Substitute cpan mirror url.
import: cpan: Sort inputs. * guix/import/cpan.scm (cpan-module->sexp)[convert-inputs]: Sort returned list of inputs.
import: cpan: Adjust licenses. * guix/import/cpan.scm (string->license): Add artistic2.0. Use '(package-license perl) for "perl_5" as is our convention.
import: cpan: Use corelist to filter dependencies. * guix/import/cpan.scm (%corelist): New variable. (module->dist-name, core-module?): New procedures. (cpan-module->sexp)[convert-inputs]: Use them. Include "test" dependencies in converted inputs. * doc/guix.texi (Invoking guix import)[cpan]: Mention corelist filtering.
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.
import: gnu: Propagate the key-download argument. * guix/import/gnu.scm (gnu->guix-package): Pass the key-download argument on to gnu-package->sexp.
Merge branch 'master' into 'core-updates'.
import: gnu: Write the hash in nix-base32 format. * guix/import/gnu.scm (gnu-package->sexp): Use 'bytevector->nix-base32-string', not 'bytevector->base32-string'.
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.
import: pypi: Gracefully handle non-existent packages. Fixes <http://bugs.gnu.org/18831>. Reported by Ian Denhardt <ian@zenhack.net>. * guix/import/pypi.scm (url-fetch, json-fetch, pypi-fetch): Augment docstring to mention #f on failure. (pypi->guix-package): Likewise, and actually return #f on failure. * guix/scripts/import/pypi.scm (guix-import-pypi): Call 'leave' when 'pypi->guix-package' returns #f.
import: snix: Handle license attributes. * guix/import/snix.scm (snix-derivation->guix-package)[license-variable]: Move to... (license-variable): ... here. Handle license attributes.
guix import pypi: Fix a typo in a docstring. * guix/import/pypi.scm (snake-case): Fix documentation.
guix import pypi: do not add "python-" to a package name if it's already there. * guix/import/pypi.scm (make-pypi-sexp): test whether the package name starts with "python-" before modifying it.