summaryrefslogtreecommitdiff
path: root/guix/import
Commit message (Collapse)AuthorAge
* import: Gracefully report import failures.Ludovic Courtès2016-05-17
| | | | | | | | | | | | Previously, something like 'guix import gnu which' would spit out a backtrace if, say, the 'which' tarball could not be authenticated. * guix/upstream.scm (download-tarball): Mention failure modes in docstring. * guix/import/gnu.scm (gnu-package->sexp): Return #f when 'download-tarball' returns #f. * guix/scripts/import.scm (guix-import): Call 'leave' when IMPORTER does not return a (package ...) sexp.
* import cran: latest-bioconductor-release: Wrap Bioconductor URL in list.Ricardo Wurmus2016-05-16
| | | | | * guix/import/cran.scm (latest-bioconductor-release): Wrap Bioconductor URL in list in the "urls" field of the "upstream-source" value.
* import cran: Use URL for Bioconductor 3.3.Ricardo Wurmus2016-05-16
| | | | | * guix/import/cran.scm (%bioconductor-svn-url): Update to release URL for version 3.3.
* utils: Move combinators to (guix combinators).Ludovic Courtès2016-05-04
| | | | | | | | | | | | | | | | | | | * guix/utils.scm (compile-time-value, memoize, fold2) (fold-tree, fold-tree-leaves): Move to... * guix/combinators: ... here. New file. * tests/utils.scm ("fold2, 1 list", "fold2, 2 lists") (fold-tree tests): Move to... * tests/combinators.scm: ... here. New file. * Makefile.am (MODULES, SCM_TESTS): Add them. * gnu/packages.scm, gnu/packages/bootstrap.scm, gnu/services/herd.scm, guix/build-system/gnu.scm, guix/build-system/python.scm, guix/derivations.scm, guix/gnu-maintenance.scm, guix/import/elpa.scm, guix/scripts/archive.scm, guix/scripts/build.scm, guix/scripts/graph.scm, guix/scripts/lint.scm, guix/scripts/size.scm, guix/scripts/substitute.scm, guix/serialization.scm, guix/store.scm, guix/ui.scm: Adjust imports accordingly.
* import: cpan: check version bounds on core modules.Eric Bavier2016-04-25
| | | | | | | | Modules may be removed from Perl's core, so we must check for a removal version. * guix/import/cpan.scm (cpan-module->sexp)[core-module?]: Also check version upper bound.
* upstream: Pass a package object to updaters.Ludovic Courtès2016-04-15
| | | | | | | | | | | | | | * 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.
* import: Add Hackage updater.Eric Bavier2016-03-30
| | | | | | | | * guix/import/hackage.scm (guix-package->hackage-name, hackage-package?) (latest-release): New procedures. (%hackage-updater): New variable. * guix/scripts/refresh.scm (%updaters): Add it. * doc/guix.texi (Invoking guix refresh): Mention it.
* import: hackage: Silence download output.Eric Bavier2016-03-30
| | | | | * guix/import/hackage.scm (hackage-fetch): Use http-fetch to avoid progress output from url-fetch.
* import: hackage: Factorize url synthesis.Eric Bavier2016-03-30
| | | | | | * guix/import/hackage.scm (hackage-source-url, hackage-cabal-url): New procedures. (hackage-fetch, hackage-module->sexp): Use them.
* import: cran: Accept single URL in addition to single URL.Ricardo Wurmus2016-03-22
| | | | | * guix/import/cran.scm (package->upstream-name): Match single URL in addition to list of URLs.
* import: pypi: Emit 'pypi-uri' only when it yields the right URL.Ludovic Courtès2016-03-19
| | | | | | | | | | | | Fixes <http://bugs.gnu.org/23062>. Reported by Danny Milosavljevic <dannym@scratchpost.org>. * guix/import/pypi.scm (make-pypi-sexp): Check whether 'pypi-uri' returns SOURCE-URL and fall back to the full URL otherwise. * tests/pypi.scm ("pypi->guix-package"): Adjust expected URI accordingly. Co-authored-by: Danny Milosavljevic <dannym@scratchpost.org>
* import: snix: Use the right 'package-name->name+version'.Ludovic Courtès2016-03-06
| | | | | | | | Fixes a regression introduced in 1b846da8c372bee78851439fd9e72b2499115e5a. * guix/import/snix.scm: Use 'package-name->name+version' from (guix build utils).
* import: Add github-updater.Ben Woodcroft2016-02-26
| | | | | | | * 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.Ben Woodcroft2016-02-20
| | | | | | | | | | * 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.Mathieu Lirzin2016-01-28
| | | | | | | * 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.
* import: gem: Beautify only the description, not the synopsis.Ben Woodcroft2016-01-20
| | | | | | * 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.Ricardo Wurmus2016-01-20
| | | | | | | | | | | | | | | | | * 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.
* import: gem: Beautify description field.Ben Woodcroft2016-01-14
| | | | * guix/import/gem.scm (gem->guix-package): Use 'beautify-description'.
* import: cran: Move beautify-description to utils module.Ben Woodcroft2016-01-14
| | | | | * guix/import/cran.scm (beautify-description): Move from here... * guix/import/utils.scm: ... to here.
* import: Rename "cran-fetch" to "fetch-description".Ricardo Wurmus2016-01-07
| | | | | * guix/import/cran.scm (cran-fetch): Rename procedure ... (fetch-description): ... to this.
* import: Add package->upstream-name procedure.Ricardo Wurmus2016-01-07
| | | | * guix/import/cran.scm (package->upstream-name): New procedure.
* import: Drop empty list items.Ricardo Wurmus2015-12-21
| | | | * guix/import/cran.scm (listify): Remove empty strings from result list.
* import: cran: Parse DESCRIPTION instead of HTML.Ricardo Wurmus2015-12-11
| | | | | | | | | * 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.Ricardo Wurmus2015-12-11
| | | | | * guix/import/cran.scm (string->license): Match more license strings to license symbols.
* import: pypi: Updater silently ignores packages without source.Ludovic Courtès2015-12-01
| | | | | | | | | | | 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.Federico Beffa2015-11-26
| | | | | * guix/import/hackage.scm (hackage-fetch, hackage->guix-package): Use 'canonical-newline-port'.
* import: hackage: Make parsing of tests and fields more flexible.Federico Beffa2015-11-26
| | | | | | | * guix/import/cabal.scm (is-test): Allow spaces between keyword and parentheses. (is-id): Add argument 'port'. Allow spaces between keyword and column. (lex-word): Adjust call to 'is-id'.
* import: hackage: Make it resilient to missing final newline.Federico Beffa2015-11-26
| | | | | * guix/import/cabal.scm (peek-next-line-indent): Check for missing final newline.
* import: hackage: Imporve parsing of tests.Federico Beffa2015-11-26
| | | | | * guix/import/cabal.scm (lex-word): Add support for tests with no spaces. (impl): Rewrite.
* import: hackage: Add recognition of 'true' and 'false' symbols.Federico Beffa2015-11-26
| | | | | | | * guix/import/cabal.scm (is-true, is-false, lex-true, lex-false): New procedures. (lex-word): Use them. (make-cabal-parser): Add TRUE and FALSE tokens. (eval): Add entries for 'true and 'false symbols.
* import: pypi: Make downloads silent.Ludovic Courtès2015-11-04
| | | | | * guix/import/pypi.scm (pypi-fetch): Wrap body in 'call-with-output-file' and 'with-error-to-port'.
* import: pypi: Add missing copyright line.Ludovic Courtès2015-11-04
| | | | * guix/import/pypi.scm: Add missing copyright line for bab020d.
* import: pypi: add updaterCyril Roelandt2015-11-03
| | | | | | | | * guix/import/pypi.scm (guix-package->pypi-name, latest-release): New procedures. (%pypi-updater): New variable. * guix/scripts/refresh.scm (%updaters): Add %PYPI-UPDATER. * doc/guix.texi (Invoking guix refresh): Mention PyPI
* import: pypi: Use "pypi-uri" instead of building the URL manually.Cyril Roelandt2015-11-03
| | | | | * guix/import/pypi.scm (make-pypi-sexp): Use "pypi-uri". * tests/pypi.scm: Update the tests accordingly.
* import: gnu: Update to the (guix upstream) API.Ludovic Courtès2015-11-03
| | | | | | | | | | | This is a followup to 0a7c5a0. * guix/import/gnu.scm (preferred-archive-type): Use 'upstream-source-archive-types' instead of 'gnu-release-archive-types'. (gnu-package->sexp): Use 'upstream-source-urls' et al. Update call to 'download-tarball'. (gnu->guix-package): Use <upstream-source> instead of <gnu-release>. * guix/upstream.scm (upstream-source-archive-types): Export.
* upstream: Add 'description' field to 'upstream-updater'.Alex Kost2015-10-27
| | | | | | | | | | | | | 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.
* import: hackage: Update GHC libraries for 7.10.2.Paul van der Walt2015-10-23
| | | | | | | | Update ghc-standard-libraries to match the output of `ghc-pkg list` when using GHC 7.10.2. * guix/import/hackage.scm (ghc-standard-libraries): Sort and update list of core GHC libraries.
* import: cran: Add copyright notice.Ludovic Courtès2015-10-21
| | | | Add notice for commit d882c23.
* import: cran: Avoid HTTP redirect.Ludovic Courtès2015-10-21
| | | | | * guix/import/cran.scm (cran-fetch): Add trailing slash in URL to avoid HTTP redirect.
* import: cran: Add updater.Ludovic Courtès2015-10-21
| | | | | | | | | * 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.
* import: elpa: Add updater.Ludovic Courtès2015-10-21
| | | | | | | * guix/import/elpa.scm (latest-release, package-from-gnu.org?): New procedures. (%elpa-updater): New variable. * guix/scripts/refresh.scm (%updaters): Add %ELPA-UPDATER.
* import: elpa: Use 'http-fetch/cached' to retrieve the archive.Ludovic Courtès2015-10-21
| | | | | | | * guix/import/elpa.scm (elpa-fetch-archive): Set %HTTP-CACHE-TTL to 6 hours. (call-with-downloaded-file): Use 'http-fetch/cached' instead of 'url-fetch'.
* import: snix: Adjust names of license attributes.Ludovic Courtès2015-10-06
| | | | | * guix/import/snix.scm (license-variable): Adjust names to current Nixpkgs.
* import: pypi: Remove unused procedure.Ludovic Courtès2015-10-05
| | | | * guix/import/pypi.scm (join): Remove.
* import: cran-sxml->sexp: Use cran-uri in package expression.Ricardo Wurmus2015-09-21
| | | | | * guix/import/cran.scm (cran-sxml->sexp): Use the cran-uri procedure in the generated package expression.
* import: gem: Fix minor bug and add unit test.David Thompson2015-09-01
| | | | | | | | * guix/import/gem.scm (make-gem-sexp): Properly handle an empty list of licenses. When rendering a list of licenses, cons 'list onto the front of the expression. * tests/gem.scm: New file. * Makefile.am (SCM_TESTS): Add it.
* import: Add 'cran' importer.Ricardo Wurmus2015-08-31
| | | | | | | | | | | | * 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'.
* import: Add Ruby gem importer.David Thompson2015-08-27
| | | | | | | | * gnu/scripts/import.scm (importers): Add "gem". * gnu/import/gem.scm: New file. * gnu/scripts/import/gem.scm: New file. * Makefile.am (MODULES): Add them. * guix.texi ("invoking guix import"): Document it.
* import: pypi: Move generally useful procedures to utils module.David Thompson2015-08-27
| | | | | | | | * guix/import/pypi.scm (make-pypi-sexp): Factorize license to symbol conversion code. (string->license, snake-case, guix-hash-url): Move from here... * guix/import/utils.scm: ... to here. (license->symbol): New procedure.
* import: elpa: Improve error message reporting.Federico Beffa2015-08-01
| | | | | | * guix/import/elpa.scm (filter-dependencies): Fix bug. (call-with-downloaded-file): Add optional parameter 'error-thunk'. (fetch-package-description): Use it.