summaryrefslogtreecommitdiff
path: root/guix/import
Commit message (Collapse)AuthorAge
* import: crate: Gracefully handle non-existent crates.Ludovic Courtès2020-04-27
| | | | | | | | Fixes <https://bugs.gnu.org/40891>. Reported by Hartmut Goebel <h.goebel@crazy-compilers.com>. * guix/import/crate.scm (crate->guix-package): Wrap value of 'version-number' and 'version*' in (and crate ...).
* import/print: Don't factorize URI if there's no version match.Ricardo Wurmus2020-04-16
| | | | | * guix/import/print.scm (package->code): If FACTORIZE-URI returns just the unmodified string use that as the URI.
* import/utils: alist->package: Include arguments.Ricardo Wurmus2020-04-16
| | | | | * guix/import/utils.scm (alist->package): Process arguments field in input data and include it in the generated package.
* import/json: json->code: Handle files with more than one definition.Ricardo Wurmus2020-04-16
| | | | | | * guix/import/json.scm (json->code): Convert JSON arrays to lists of package definitions. (json->scheme-file): Write all expressions to the target file.
* import/utils: alist->package: Ignore known inputs.Ricardo Wurmus2020-04-16
| | | | | | | * guix/import/utils.scm (alist->package): Accept optional list of known inputs, which are excluded from the specification lookup. * guix/import/print.scm (package->code)[package-lists->code]: Handle inputs which are just symbols.
* import/print: package->code: Wrap S-expression in definition.Ricardo Wurmus2020-04-16
| | | | | * guix/import/print.scm (package->code): Return a definition, not just a package expression.
* import/json: Use json->code.Ricardo Wurmus2020-04-16
| | | | | * guix/import/json.scm (json->code): Export procedure. * guix/scripts/import/json.scm (guix-import-json): Use json->code.
* import/json: Add json->scheme-file.Ricardo Wurmus2020-04-16
| | | | * guix/import/json.scm (json->code, json->scheme-file): New procedures.
* import/print: package->code: Wrap build system value in module reference.Ricardo Wurmus2020-04-16
| | | | | * guix/import/print.scm (package->code): Return build system value with corresponding module.
* import/print: Return license with prefix.Ricardo Wurmus2020-04-16
| | | | * guix/import/print.scm (license->code): Prepend license: prefix.
* import/cran: Import missing module.Ricardo Wurmus2020-03-25
| | | | | | | | This is a follow-up to commit b005c240bb5e436ffe9d55c2dd75c9af85aa0fdd. Reported-by: Ludovic Courtès <ludo@gnu.org> * guix/import/cran.scm: Import (guix ui) module.
* import/cran: Support importing from Mercurial repositories.Ricardo Wurmus2020-03-25
| | | | | | | | | * guix/import/cran.scm (download): Accept keyword #:method; add case for hg method. (fetch-description): Handle hg repository. (description->package): Add cases for hg repositories and update call of DOWNLOAD procedure. (cran->guix-package): Retry importing from Bioconductor when hg import failed.
* import: crate: Deduplicate dependencies.Martin Becze2020-03-24
| | | | | | * guix/import/crate.scm (crate-version-dependencies): Deduplicate crate dependencies. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix: import: opam: Use a default repository.Julien Lepiller2020-03-17
| | | | | * guix/import/opam.scm (opam->guix-package): Use a default value for `repository`.
* import: cpan: Gracefully handle missing projects.Ludovic Courtès2020-03-12
| | | | * guix/import/cpan.scm (cpan-fetch): Check whether 'json-fetch' returns #f.
* import: utils: Remove 'assoc-ref*'.Ludovic Courtès2020-03-12
| | | | * guix/import/utils.scm (assoc-ref*): Remove.
* import: pypi: Rewrite to use 'define-json-mapping'.Ludovic Courtès2020-03-12
| | | | | | | | | | * guix/import/pypi.scm (non-empty-string-or-false): New procedure. (<pypi-project>, <project-info>, <distribution>): New record types. (pypi-fetch): Call 'json->pypi-project'. (latest-source-release, latest-wheel-release): Use the new record accessors instead of 'assoc-ref*'. (pypi->guix-package, latest-release): Likewise. * tests/pypi.scm (test-json): Add mandatory fields.
* import/cran: Add vignette builder to native inputs.Ricardo Wurmus2020-03-07
| | | | | * guix/import/cran.scm (needs-knitr?): New procedure. (description->package): Use it.
* import: pypi: Add more licensesLars-Dominik Braun2020-03-04
| | | | | | | * guix/import/pypi.scm (string->license): Add the BSD 2-clause and MPL 2.0 licenses, and add more strings for BSD 3-clause and Expat license. Signed-off-by: Leo Famulari <leo@famulari.name>
* import: github: Use HTTP "Authorization" header for access tokens.Matt Wette2020-02-22
| | | | | | | | | | | | Fixes <https://bugs.gnu.org/39511>. The "access_token" query parameter is now deprecated: https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api/#authenticating-using-query-parameters * guix/import/github.scm (fetch-releases-or-tags)[headers]: Add "Authorization" header when (%github-token) is true. [decorate]: Remove, and remove callers.
* import: pypi: Support exporting packages with .zip source.Jakub Kądziołka2020-02-05
| | | | | | | | | * guix/import/pypi.scm (make-pypi-sexp): Rename test-inputs to native-inputs. Restructure the way pypi-uri parameters are generated. Use pypi-uri's extension parameter when required. Add "unzip" to native inputs when the package source is a zip file. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
* import: gem: Deal with unavailable licensing info.Ludovic Courtès2020-02-05
| | | | | | | | | | Fixes <https://bugs.gnu.org/39404>. Reported by Seth <lee.seth@tuta.io>. * guix/import/gem.scm (<gem>)[licenses]: Adjust for non-vector licenses. * tests/gem.scm (test-bar-json): Change "licenses" to 'null'. ("gem-recursive-import"): Adjust accordingly.
* import: gem: Rewrite to use a JSON mapping to records.Ludovic Courtès2020-02-05
| | | | | | | | | | | | * guix/import/gem.scm (<gem>, <gem-dependencies>, <gem-dependency>): New record types with JSON mapping. (json->gem-dependencies): New procedures. (rubygems-fetch): Use it. (hex-string->bytevector): Remove. (make-gem-sexp): Expect HASH to be a bytevector. (gem->guix-package): Adjust to use the new <gem> data type instead of an alist. (latest-release): Likewise.
* import: texlive: Avoid uses of '@@' in tests.Ludovic Courtès2020-01-17
| | | | | | | | * guix/import/texlive.scm (fetch-sxml, sxml->package): Export. * tests/texlive.scm <top level>: Call '%http-server-port'. ("fetch-sxml: returns SXML for valid XML"): Use 'with-http-server' and set 'current-http-proxy' instead of using 'mock'. ("sxml->package"): Remove use of '@@'.
* import: opam: Avoid uses of '@@' in tests.Ludovic Courtès2020-01-17
| | | | | | | | | | | | | * guix/import/opam.scm (string-pat, multiline-string, list-pat) (dict, condition): Export. (opam-fetch): Add optional 'repository' parameter. (opam->guix-package): Add #:repository parameter and pass it to 'opam-fetch'. * tests/opam.scm ("opam->guix-package"): Remove use of 'mock' and pass TEST-REPO to 'opam->guix-package' instead. ("parse-strings", "parse-multiline-strings") ("parse-lists", "parse-dicts", "parse-conditions"): Remove uses of '@@', which are no longer needed.
* import: elpa: Rewrite test to use an HTTP server instead of mocking.Ludovic Courtès2020-01-16
| | | | | | | | | | | * guix/import/elpa.scm (elpa-url): Add 'gnu/http'. (elpa->guix-package): Handle it. * tests/elpa.scm (elpa-package-info-mock, auctex-readme-mock) (elpa-version->string, package-source-url, ensure-list) (package-home-page, make-elpa-package): Remove. <top level>: Call '%http-server-port'. (eval-test-with-elpa): Remove uses of 'mock'. Use 'with-http-server' and parameterize 'current-http-proxy' instead.
* import: cran: Avoid uses of '@@' in the tests.Ludovic Courtès2020-01-16
| | | | | | | * guix/import/cran.scm (description->alist, description->package): Export. <top level>: Set! 'listify'. * tests/cran.scm (description-alist, "description->package"): Remove use of '@@' to access the relevant bindings.
* import: crate: Export 'string->license'.Ludovic Courtès2020-01-16
| | | | | * guix/import/crate.scm (string->license): Export. * tests/crate.scm (string->license): Remove.
* import: cpan: Rewrite tests to use an HTTP server instead of mocking.Ludovic Courtès2020-01-15
| | | | | | | * guix/import/cpan.scm (%metacpan-base-url): New variable. (module->dist-name, cpan-fetch): Refer to it instead of the hard-coded URL. * tests/cpan.scm ("cpan->guix-package"): Use 'with-http-server' instead of 'mock'.
* import: cpan: Rewrite to use 'define-json-mapping'.Ludovic Courtès2020-01-15
| | | | | | | | | | | | | | | | | | | | * guix/import/cpan.scm (<cpan-dependency>, <cpan-release>): New JSON-mapped record types. (metacpan-url->mirror-url): New procedure. (cpan-source-url): Rewrite in terms of it. (cpan-version): Remove. (cpan-module->sexp): Rewrite to take a <cpan-release> instead of an alist, and rename 'meta' to 'release'. [convert-inputs]: Rewrite to use 'cpan-release-dependencies'. Update calls to 'convert-inputs' to pass a list of symbols. Replace 'assoc-ref' calls with the appropriate field accessors. (cpan->guix-package): Rename 'module-meta' to 'release'. (latest-release): Likewise, and use the appropriate accessors. * tests/cpan.scm (test-json): Remove "prereqs" record; add "dependency" list. ("source-url-http", "source-url-https"): Remove. ("metacpan-url->mirror-url, http") ("metacpan-url->mirror-url, https"): New tests.
* import: cran: Fix file descriptor leak.Ludovic Courtès2020-01-03
| | | | | | | | | Fixes <https://bugs.gnu.org/38836>. Reported by Ricardo Wurmus <rekado@elephly.net>. * guix/import/cran.scm (bioconductor-packages-list): Close the port returned by 'http-fetch/cached'. (fetch-description): Likewise.
* import: crate: Honor crate version for recursive imports.Ludovic Courtès2019-12-30
| | | | | | | | | | Fixes <https://bugs.gnu.org/38709>. Reported by Valentin Ignatev <valentignatev@gmail.com>. * guix/import/crate.scm (crate-recursive-import): Add optional 'version' parameter and honor it. * guix/scripts/import/crate.scm (guix-import-crate): Pass VERSION as 2nd argument to 'crate-recursive-import'.
* guix: Upgrade to Bioconductor 3.10.Ricardo Wurmus2019-12-15
| | | | | * guix/build-system/r.scm (bioconductor-uri): Switch to version 3.10. * guix/import/cran.scm (%bioconductor-version): Same.
* import: cran: Recognize LGPL 2.1+.Ricardo Wurmus2019-12-14
| | | | * guix/import/cran.scm (string->license): Add case for lgpl2.1+.
* import: utils: Update docstring of 'recursive-import'.Ludovic Courtès2019-12-13
| | | | | | This is a followup to 70a8e13277d4a44b89dd9ee2290b98105f0235f1. * guix/import/utils.scm (recursive-import): Update docstring.
* import: crate: Better handle license expressions.Brice Waegeneire2019-12-11
| | | | | | | | * guix/import/crate.scm (%dual-license-rx): Removed function. (crate->guix-package): Handle most of the multi-licensing cases. * tests/crate.scm (licenses): Add tests for some licenses. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* import: utils: 'recursive-import' returns a list rather than a stream.Ludovic Courtès2019-12-11
| | | | | | | | | | | | | | | | | * guix/import/utils.scm (recursive-import): Remove 'list->stream' call. * guix/scripts/import/cran.scm (guix-import-cran): Remove 'stream->list' call. * guix/scripts/import/crate.scm (guix-import-crate): Likewise. * guix/scripts/import/elpa.scm (guix-import-elpa): Likewise. * guix/scripts/import/gem.scm (guix-import-gem): Likewise. * guix/scripts/import/hackage.scm (guix-import-hackage): Likewise. * guix/scripts/import/opam.scm (guix-import-opam): Likewise. * guix/scripts/import/pypi.scm (guix-import-pypi): Likewise. * guix/scripts/import/stackage.scm (guix-import-stackage): Likewise. * tests/gem.scm ("gem-recursive-import"): Likewise. * tests/import-utils.scm ("recursive-import"): Likewise. Co-authored-by: Brian Leung <bkleung89@gmail.com>
* import: utils: 'recursive-import' returns packages in topological order.Ludovic Courtès2019-12-11
| | | | | | | | | | | | | | | | | | * guix/import/utils.scm (topological-sort): New procedure. (recursive-import): Rewrite to use it. * tests/import-utils.scm ("recursive-import"): New test. * guix/import/cran.scm (cran->guix-package): Always return two values. * guix/scripts/import/cran.scm (guix-import-cran): Remove 'reverse' call on 'cran-recursive-import' result. * guix/scripts/import/crate.scm (guix-import-crate): Likewise. * guix/scripts/import/elpa.scm (guix-import-elpa): Likewise. * guix/scripts/import/gem.scm (guix-import-gem): Likewise. * guix/scripts/import/hackage.scm (guix-import-hackage): Likewise. * guix/scripts/import/opam.scm (guix-import-opam): Likewise. * guix/scripts/import/pypi.scm (guix-import-pypi): Likewise. * guix/scripts/import/stackage.scm (guix-import-stackage): Likewise. * tests/gem.scm ("gem-recursive-import"): Change the order of package expressions accordingly.
* guix: import: Fix importing dune project.Julien Lepiller2019-11-30
| | | | | * guix/import/opam.scm: Detect dune projects from dependencies, then filter dune from dependencies.
* guix: import: Fix opam importer.Julien Lepiller2019-11-30
| | | | * guix/import/opam.scm: Allow line breaks in strings.
* import: texlive: Handle multi-license packages.Ludovic Courtès2019-11-22
| | | | | | | This fixes "guix import texlive translator". * guix/import/texlive.scm (sxml->package): Add clause for when 'license' is a list of licences, as is the case with the "translator" package.
* gnu: Use GHC 8.6.5 as the main Haskell compiler.Timothy Sample2019-11-20
| | | | | | * gnu/package/haskell.scm (ghc-8): Change to 'ghc-8.6'. * guix/import/hackage.scm (ghc-standard-libraries): Add 'ghc-heap' and 'libiserv'.
* import: crate: Support recursive imports.Martin Becze2019-10-01
| | | | | | | * guix/import/crate.scm (crate-recursive-import): New procedure. (crate->guix-package): Return dependencies as a second value. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* import: stackage: Fix typo.Vagrant Cascadian2019-09-23
| | | | * guix/import/stackage: Fix spelling of "version".
* import/github: Check for more version prefixes.Efraim Flashner2019-09-20
| | | | | * guix/import/github.scm (latest-released-version): Allow the version string to begin with the word 'version'.
* import: pypi: Refresher recognizes pythonhosted.org source URLs.Ludovic Courtès2019-09-18
| | | | | | | | | | This is a followup to a5376200541abf8245973e601be246bf65b8b6c7. Since that commit, 'pypi-package?' would return false for most Python packages, and thus "guix refresh python-xxx" would report that no updaters apply to the package. * guix/import/pypi.scm (pypi-package?)[pypi-url?]: Recognize "files.pythonhosted.org" URLs.
* import/cran: Export %bioconductor-version.Ricardo Wurmus2019-09-16
| | | | * guix/import/cran.scm (%bioconductor-version): Export it.
* import/utils: beautify-description: Recognize more fragments.Ricardo Wurmus2019-09-14
| | | | | * guix/import/utils.scm (beautify-description): Handle additional common initial sentence fragments in descriptions.
* import: KDE updater finds packages even in sub-directory.Hartmut Goebel2019-09-10
| | | | | | | | | | | | Fixes <http://issues.guix.gnu.org/issue/30345> and finally fixes <http://issues.guix.gnu.org/issue/25020>. Formerly packages living in a path like /stable/frameworks/5.60/portingAids/kross-5.60.0.tar.xz have not been found. * guix/import/kde.scm (uri->kde-path-pattern): New procedure. (latest-kde-release): Use pattern to search for file.
* upstream: Move KDE updater into a separate module.Hartmut Goebel2019-09-10
| | | | | | | | | As it was done for (guix import gnome). * guix/import/kde.scm: New file. * Makefile.am (MODULES): Add it. * guix/gnu-maintenance.scm (%kde-updater) (%kde-file-list-uri) (download.kde.org-files) (latest-kde-release): Remove.