summaryrefslogtreecommitdiff
path: root/guix/import
Commit message (Collapse)AuthorAge
* 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.
* import: pypi: Improve warning message.Ludovic Courtès2015-07-21
| | | | | * guix/import/pypi.scm (guess-requirements): Add missing newline and quotes in warning.
* import: cabal: Make token recognition case-insensitive.Federico Beffa2015-07-08
| | | | | | * guix/import/cabal.scm (make-rx-matcher): Add optional parameter FLAG. (is-property, is-flag, is-src-repo, is-exec, is-test-suite, is-benchmark, is-lib, is-else, is-if): Make test case-insensitive.
* import: Add 'elpa' importer.Federico Beffa2015-07-08
| | | | | | | | | | | | * guix/import/elpa.scm: New file. * guix/scripts/import.scm: Add "elpa" to 'importers'. * guix/scripts/import/elpa.scm: New file. * Makefile.am (MODULES): Add 'guix/import/elpa.scm' and 'guix/scripts/import/elpa.scm'. (SCM_TESTS): Add 'tests/elpa.scm'. * doc/guix.texi (Invoking guix import): Document it. * tests/elpa.scm: New file. * po/guix/POTFILES.in: Add 'guix/scripts/import/elpa.scm'.
* import: pypi: Detect inputs.Cyril Roelandt2015-06-24
| | | | | | | | | | * guix/import/pypi.scm (python->package-name, maybe-inputs, compute-inputs, guess-requirements): New procedures. * guix/import/pypi.scm (guix-hash-url): Now takes a filename instead of an URL as input. * guix/import/pypi.scm (make-pypi-sexp): Now tries to generate the inputs automagically. * tests/pypi.scm: Update the test.
* import: hackage: Refactor parsing code and add new options.Federico Beffa2015-06-09
| | | | | | | | | | | | * guix/import/cabal.scm: New file. * guix/import/hackage.scm: Update to use the new Cabal parsing module. * tests/hackage.scm: Update tests. * guix/scripts/import/hackage.scm: Add new '--cabal-environment' and '--stdin' options. * doc/guix.texi: ... and document them. * Makefile.am (MODULES): Add 'guix/import/cabal.scm', 'guix/import/hackage.scm' and 'guix/scripts/import/hackage.scm'. (SCM_TESTS): Add 'tests/hackage.scm'.
* import: cpan: Fix license string for Artistic license.Eric Bavier2015-04-19
| | | | | * guix/import/cpan.scm (string->license): Remove extraneous "_0" suffix for Artistics licenses.
* import: Add hackage importer.Federico Beffa2015-04-08
| | | | | * guix/import/hackage.scm: New file. * tests/hackage.scm: New file.
* import: cpan: Change %corelist into a promise.Mark H Weaver2015-02-20
| | | | | | | | 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.Eric Bavier2015-02-18
| | | | | * guix/import/cpan.scm (cpan-module->sexp)[source-url]: Substitute cpan mirror url.