import: snix: Use the right 'package-name->name+version'. Fixes a regression introduced in 1b846da8c372bee78851439fd9e72b2499115e5a. * guix/import/snix.scm: Use 'package-name->name+version' from (guix build utils).
import: Add github-updater. * guix/import/github.scm: New file. * guix/scripts/refresh.scm (%updaters): Add %GITHUB-UPDATER. * doc/guix.texi (Invoking guix refresh): Mention it. * Makefile.am (MODULES): Add gnu/import/github.scm.
import: gem: Add updater. * guix/import/gem.scm (guix-package->gem-name, gem-package?, latest-release): New procedures. (%gem-updater): New variable. (rubygems-fetch): Wrap body in 'call-with-output-file' and 'with-error-to-port'. * guix/scripts/refresh.scm (%updaters): Add %GEM-UPDATER. * doc/guix.texi (Invoking guix refresh): Mention RubyGems.
packages: Use '@' in package record printers. * guix/packages.scm <package>: Use '@' in record printer. * guix/import/cabal.scm <cabal-package>: Likewise * guix/import/elpa.scm <elpa-package>: Likewise. * tests/packages.scm: Adapt to it.
Merge branch 'master' into core-updates
import: gem: Beautify only the description, not the synopsis. * guix/import/gem.scm (make-gem-sexp): Add synopsis argument. (gem->guix-package): Pass unbeautified synopsis to make-gem-sexp. * tests/gem.scm: Adapt it.
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.
Merge branch 'master' into core-updates
import: gem: Beautify description field. * guix/import/gem.scm (gem->guix-package): Use 'beautify-description'.
import: cran: Move beautify-description to utils module. * guix/import/cran.scm (beautify-description): Move from here... * guix/import/utils.scm: ... to here.
Merge branch 'master' into core-updates
import: Rename "cran-fetch" to "fetch-description". * guix/import/cran.scm (cran-fetch): Rename procedure ... (fetch-description): ... to this.
import: Add package->upstream-name procedure. * guix/import/cran.scm (package->upstream-name): New procedure.
Merge branch 'master' into core-updates
import: Drop empty list items. * guix/import/cran.scm (listify): Remove empty strings from result list.
Merge branch 'master' into core-updates
import: cran: Parse DESCRIPTION instead of HTML. * guix/import/cran.scm (description->alist, listify, beautify-description, description->package): New procedures. (table-datum, downloads->url, nodes->text, cran-sxml->sexp): Remove proceduces. (latest-release): Use parsed DESCRIPTION instead of SXML. * tests/cran.scm: Rewrite to match importer.
import: cran: Match more license strings. * guix/import/cran.scm (string->license): Match more license strings to license symbols.
import: pypi: Updater silently ignores packages without source. Reported by Andreas Enge <andreas@enge.fr> at <https://lists.gnu.org/archive/html/guix-devel/2015-11/msg00764.html>. * guix/import/pypi.scm (&missing-source-error): New error type. (latest-source-release): Raise it instead of using 'error'. (pypi->guix-package): Guard against it and use 'leave' to report the error. (latest-release): Guard against it and return #f when caught.
import: hackage: Handle CRLF end of line style. * guix/import/hackage.scm (hackage-fetch, hackage->guix-package): Use 'canonical-newline-port'.