summaryrefslogtreecommitdiff
path: root/guix/import
Commit message (Collapse)AuthorAge
* import/cpan: Maybe coerce version to string.Alex Sassmannshausen2016-11-14
| | | | | * guix/import/cpan.scm (cpan-module->sexp) <version>: Test if version in meta is string or number. If it is number, coerce to string.
* import: cran: Fix off-by-one error.Ricardo Wurmus2016-11-03
| | | | | * guix/import/cran.scm (package->upstream-name): Do not include leading slash in upstream name URL.
* import cran: Use URL for Bioconductor 3.4.Ricardo Wurmus2016-10-26
| | | | | * guix/import/cran.scm (%bioconductor-svn-url): Update to release URL for version 3.4.
* import: pypi: All inputs are propagated-inputs by default.Hartmut Goebel2016-10-23
| | | | | * guix/import/pypi.scm (maybe-inputs): Return inputs as "propagated-inputs".
* import: utils: Remove dependency on (json) module.Alex Kost2016-10-16
| | | | | | | This fixes a regression introduced by commit fbe9c1012820ab72f022a6ec958c35b431ae7a74. * guix/import/utils.scm: Remove unused (json) module.
* import: github: Add .love extension.Efraim Flashner2016-10-10
| | | | | * guix/import/github.scm (find-extension): Add '.love' extension to the list of extensions checked.
* import: utils: Refactor license->symbol.David Craven2016-09-28
| | | | | * guix/import/utils.scm (license->symbol): Work for all licenses. * tests/import-utils.scm (license->symbol): Add test.
* import: utils: Add spdx-string->license.David Craven2016-09-28
| | | | | * guix/import/utils.scm (spdx-string->license): New variable. * guix/licenses.scm (agpl1, fdl1.2+): New variables.
* import: Move string->license to importers.David Craven2016-09-28
| | | | | * guix/import/gem.scm (string->license): Move from (guix import utils). * guix/import/pypi.scm (string->license): Move from (guix import utils).
* import: Reorder imports in (guix import utils).David Craven2016-09-28
| | | | * guix/import/utils.scm (define-module): Reorder imports alphabetically.
* import: hackage: Default to https urls.ng02016-08-30
| | | | | * guix/import/hackage.scm (hackage-source-url, hackage-cabal-url): Use https for hackage.haskell.org.
* import: cpan: Use tls to query api.metacpan.org.ng02016-08-30
| | | | | | | * guix/import/cpan.scm (module->dist-name, cpan-fetch-module): Use tls for api.metacpan.org. Signed-off-by: Eric Bavier <bavier@member.fsf.org>
* import: Importers return prefixed licenses.David Craven2016-08-28
| | | | | | | | | * guix/import/utils.scm (define-module): Import licenses with license: prefix. (string->licenses): Use prefixed licenses. (license->symbol): Return symbols with the prefix license:. * guix/tests/pypi.scm (pypi->guix-package): Update test cases. * guix/tests/gem.scm (gem->guix-package): Update test case.
* import: pypi: Correctly handle new-style URLs.Ludovic Courtès2016-07-26
| | | | | | | | | Fixes <http://bugs.gnu.org/23997>. * guix/import/pypi.scm (guix-package->pypi-name): Rewrite using 'basename' and 'hyphen-package-name->name+version'. * tests/pypi.scm ("guix-package->pypi-name, old URL style") ("guix-package->pypi-name, new URL style"): New tests.
* import: cpan: Use our mirrors for 'https' URLs.Alex Sassmannshausen2016-07-03
| | | | | | | | * guix/import/cpan.scm (fix-source-url): New procedure. (cpan-module->sexp): Use it to construct our source-url. * tests/cpan.scm: Add tests for fix-source-url. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* import: pypi: do not fail when 'run_requires' is missing from the metadata.Cyril Roelandt2016-06-25
| | | | | * guix/import/pypi.scm (read-wheel-metadata): do not crash when 'run_requires' is missing from the metadata.
* import: pypi: read requirements from wheels.Cyril Roelandt2016-06-14
| | | | | | | | * doc/guix.tex (Invoking guix import): Mention that the pypi importer works better with "unzip". * guix/import/pypi.scm (latest-wheel-release, wheel-url->extracted-directory): New procedures. * tests/pypi.scm (("pypi->guix-package, wheels"): New test.
* gnu-maintenance: Replace 'find-packages' with 'find-package' (singular).Ludovic Courtès2016-06-08
| | | | | | | | | | Fixes <http://bugs.gnu.org/23718>. Reported by Efraim Flashner <efraim@flashner.co.il>. * guix/gnu-maintenance.scm (find-packages): Remove. (find-package): New procedure. * guix/import/gnu.scm (gnu->guix-package): Use 'find-package' instead of 'find-packages' and adjust accordingly.
* import: github: Tiny cosmetic change.Ludovic Courtès2016-05-31
| | | | * guix/import/github.scm (find-extension): Use a one-argument lambda.
* import github: Add to extension list.Efraim Flashner2016-05-31
| | | | * guix/import/github.scm (find-extension): Add '.tgz' extension.
* 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.