Commit Graph

28 Commits

Author SHA1 Message Date
Ricardo Wurmus fdbc84b056
import cran: Handle HTTP errors.
Fixes <http://bugs.gnu.org/23479>.

* guix/import/cran.scm (fetch-description): Return #f in case of HTTP
errors.
2016-12-17 19:13:42 +01:00
Ricardo Wurmus 94e907b962
import cran: Add recursive importer.
* guix/import/cran.scm (recursive-import): New variable.
(cran->guix-package): Memoize the procedure.
2016-12-17 19:12:55 +01:00
Ricardo Wurmus b26abe4f14
import cran: Ignore default R packages.
* guix/import/cran.scm (default-r-packages): New variable.
(description->package): Drop default R packages from list of inputs.
2016-12-17 15:56:48 +01:00
Ricardo Wurmus ad68f7fa58
import cran: description->package: Also return package dependencies.
* guix/import/cran.scm (description->package): Return package
  dependencies in addition to generated package expression.
2016-12-17 15:56:48 +01:00
Ricardo Wurmus bfa0c752bc
import cran: Move guix-name to top-level.
* guix/import/cran.scm (guix-name): Move to top-level.
2016-12-17 15:56:48 +01:00
Ricardo Wurmus 2e5f32ce1b
import cran: Remove more invalid characters from package names.
* guix/import/cran.scm (guix-name): Replace period and underscore with
  dash; always prepend package names with "r-".
2016-12-17 15:56:47 +01:00
Ricardo Wurmus 576eda6d02
import cran: Handle BSD licenses with LICENSE file.
* guix/import/cran.scm (string->license): Add cases for BSD licenses
with LICENSE file.
2016-12-17 15:56:47 +01:00
Ricardo Wurmus 741d68c20d
import cran: Translate MIT to the Expat license.
* guix/import/cran.scm (string->license): Translate "MIT" license to
Expat license.
2016-12-17 15:56:47 +01:00
Ricardo Wurmus 13f54d081b
import cran: Do not use "or later" licenses by default.
* guix/import/cran.scm (string->license): Use exact license versions.
2016-12-17 15:56:39 +01:00
Ricardo Wurmus e3100110ce
import: cran: Fix off-by-one error.
* guix/import/cran.scm (package->upstream-name): Do not include leading
slash in upstream name URL.
2016-11-03 16:03:28 +01:00
Ricardo Wurmus a98470b5be
import cran: Use URL for Bioconductor 3.4.
* guix/import/cran.scm (%bioconductor-svn-url): Update to release URL
for version 3.4.
2016-10-26 09:28:06 +02:00
Ricardo Wurmus 9916ae15bb
import cran: latest-bioconductor-release: Wrap Bioconductor URL in list.
* guix/import/cran.scm (latest-bioconductor-release): Wrap Bioconductor
URL in list in the "urls" field of the "upstream-source" value.
2016-05-16 21:00:41 +02:00
Ricardo Wurmus 9583e07cae
import cran: Use URL for Bioconductor 3.3.
* guix/import/cran.scm (%bioconductor-svn-url): Update to release URL
  for version 3.3.
2016-05-16 20:52:46 +02:00
Ludovic Courtès 7d27a0259b upstream: Pass a package object to updaters.
* guix/upstream.scm (package-update-path): Pass PACKAGE to
'latest-release'.
* guix/gnu-maintenance.scm (latest-release*)
(latest-gnome-release, latest-xorg-release): Adjust accordingly.
* guix/import/cran.scm (latest-cran-release):
(latest-bioconductor-release): Likewise.
* guix/import/elpa.scm (latest-release): Likewise.
* guix/import/gem.scm (latest-release): Likewise.
* guix/import/github.scm (latest-release): Likewise.
* guix/import/hackage.scm (latest-release): Likewise.
* guix/import/pypi.scm (latest-release): Likewise.
2016-04-15 00:32:18 +02:00
Ricardo Wurmus b98293ebed import: cran: Accept single URL in addition to single URL.
* guix/import/cran.scm (package->upstream-name): Match single URL in
  addition to list of URLs.
2016-03-22 17:57:40 +01:00
Ricardo Wurmus d0bd632f89 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.
2016-01-20 12:41:28 +01:00
Ben Woodcroft 2028a2c960 import: cran: Move beautify-description to utils module.
* guix/import/cran.scm (beautify-description): Move from here...
* guix/import/utils.scm: ... to here.
2016-01-14 19:44:36 +10:00
Ricardo Wurmus 34a75d35bb import: Rename "cran-fetch" to "fetch-description".
* guix/import/cran.scm (cran-fetch): Rename procedure ...
(fetch-description): ... to this.
2016-01-07 17:18:04 +01:00
Ricardo Wurmus d1c116089b import: Add package->upstream-name procedure.
* guix/import/cran.scm (package->upstream-name): New procedure.
2016-01-07 17:18:02 +01:00
Ricardo Wurmus be036757bd import: Drop empty list items.
* guix/import/cran.scm (listify): Remove empty strings from result list.
2015-12-21 15:24:54 +01:00
Ricardo Wurmus 0f6b9e9828 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.
2015-12-11 15:35:07 +01:00
Ricardo Wurmus b6a222757b import: cran: Match more license strings.
* guix/import/cran.scm (string->license): Match more license strings to
  license symbols.
2015-12-11 15:35:07 +01:00
Alex Kost 7e6b490d04 upstream: Add 'description' field to 'upstream-updater'.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* guix/upstream.scm (<upstream-updater>): Use 'define-record-type*'.
  [description]: New field.
  (lookup-updater): Adjust accordingly.
* guix/gnu-maintenance.scm (%gnu-updater): Likewise.
* guix/import/cran.scm (%cran-updater): Likewise.
* guix/import/elpa.scm (%elpa-updater): Likewise.
* po/guix/POTFILES.in: Add guix/scripts/import/cran.scm and
  guix/gnu-maintenance.scm.
2015-10-27 21:54:57 +03:00
Ludovic Courtès 102eac2a0a import: cran: Add copyright notice.
Add notice for commit d882c23.
2015-10-21 14:51:30 +02:00
Ludovic Courtès 053cfdb3d6 import: cran: Avoid HTTP redirect.
* guix/import/cran.scm (cran-fetch): Add trailing slash in URL to avoid
  HTTP redirect.
2015-10-21 14:44:41 +02:00
Ludovic Courtès d882c235d9 import: cran: Add updater.
* guix/import/cran.scm (downloads->url, nodes->text): New procedures.
  (cran-sxml->sexp): Use them.  Remove equivalent local code.
  (latest-release, cran-package?): New procedures.
  (%cran-updater): New variable.
* guix/scripts/refresh.scm (%updaters): Add %CRAN-UPDATER.
* doc/guix.texi (Invoking guix refresh): Mention CRAN.
2015-10-21 14:44:41 +02:00
Ricardo Wurmus a52b625152 import: cran-sxml->sexp: Use cran-uri in package expression.
* guix/import/cran.scm (cran-sxml->sexp): Use the cran-uri procedure in
  the generated package expression.
2015-09-21 10:48:26 +02:00
Ricardo Wurmus e1248602f9 import: Add 'cran' importer.
* guix/import/cran.scm: New file.
* guix/scripts/import.scm: Add "cran" to 'importers'.
* guix/scripts/import/cran.scm: New file.
* tests/cran.scm: New file.
* Makefile.am (MODULES): Add 'guix/import/cran.scm' and
  'guix/scripts/import/cran.scm'.
  (SCM_TESTS): Add 'tests/cran.scm'.
* doc/guix.texi (Invoking guix import): Document it.
* po/guix/POTFILES.in: Add 'guix/scripts/import/cran.scm'.
2015-08-31 15:39:34 +02:00