aboutsummaryrefslogtreecommitdiff
path: root/guix/import
Commit message (Collapse)AuthorAge
* import/cran: Use CRAN mirrors.Ricardo Wurmus8 days
| | | | | | | * guix/import/cran.scm (%cran-url): Use mirror URL instead of primary project domain name. Change-Id: I23a51147d785d6cb645f953ca5ce0ff72f8bd367
* guix: Update Bioconductor version to 3.19.Ricardo Wurmus9 days
| | | | | | | * guix/build-system/r.scm (bioconductor-uri): Use 3.19 URL. * guix/import/cran.scm (%bioconductor-version): Set to 3.19. Change-Id: I7a2c4dfcdb2c4cdfef581f823d87e73acc163549
* import: beautify-description: Fix ". ." case.Nicolas Graves2024-04-29
| | | | | | | | * guix/import/utils.scm (beautify-description): Ensure the matched string pre is long enough not to fail. Change-Id: I3172d9a41350b98222cd9ab758487485f26650b3 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* import: github: Recognize more URLs.Giacomo Leidi2024-04-17
| | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/66396>. This allows more packages to be refreshed, such as launchmon, love, retux, preseq, edgar, antlr3, and runc. * guix/import/github.scm (updated-github-url)[updated-url]: Add additional heuristics to Github url updater. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Change-Id: I6409b3f61872a954f53480afd63b307d16d0b9c0
* utils: Don’t re-export ‘call-with-temporary-output-file’.Ludovic Courtès2024-04-15
| | | | | | | | | | | | * guix/utils.scm: Remove re-export of ‘call-with-temporary-output-file’. Autoload a number of modules. * guix/download.scm, guix/import/hackage.scm, guix/import/hexpm.scm, guix/import/opam.scm, guix/import/pypi.scm, tests/cpio.scm, tests/egg.scm, tests/opam.scm, tests/publish.scm, tests/store-database.scm, tests/utils.scm: Adjust imports accordingly. Change-Id: I3f5e94631397996a30be2ea4ff8b50a3371e8ee7
* import/cran: Add one more invalid package.Ricardo Wurmus2024-03-06
| | | | | | * guix/import/cran.scm (invalid-packages): Add "use_c17". Change-Id: Ie3b6455d4eff97811057cd82dca460367a4583e5
* import: Do not return package name with json importer.Herman Rimm2024-02-23
| | | | | | | | | * guix/import/json.scm (json->code): Do not return package names after package expressions. * doc/package-hello.json: Fix comma errors and use valid greeter URL. Change-Id: Id71924e72f690a9bda5fbfdb65a443029adfd158 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* import/cran: Use downstream name when using specifications.Ricardo Wurmus2024-02-20
| | | | | | | | | | Reported by Alexander Blume at <https://github.com/BIMSBbioinfo/guix.install/issues/4>. * guix/import/cran.scm (format-inputs): Use UPSTREAM-INPUT-DOWNSTREAM-NAME when %INPUT-STYLE is set to 'SPECIFICATION. Change-Id: I2f0963af197896aafd613b253d8712e41a716e52
* import/cran: Set HOME when ExperimentHub is among the inputs.Ricardo Wurmus2024-01-22
| | | | | | | * guix/import/cran.scm (phases-for-inputs): Add 'set-HOME phase when ExperimentHub is among inputs. Change-Id: Ie3a2443934704eed8694a76a651b806209722421
* import/cran: Also update annotation and experiment packages.Ricardo Wurmus2024-01-22
| | | | | | | | * guix/import/cran.scm (latest-bioconductor-release): Determine package type and pass it to LATEST-BIOCONDUCTOR-PACKAGE-VERSION and BIOCONDUCTOR-URI. (%bioconductor-updater): Compose all bioconductor predicates. Change-Id: Icef3ae05e28ed0f2796d9abf90e51821d2dfcc4c
* import/cran: Generate rudimentary ARGUMENTS field.Ricardo Wurmus2024-01-21
| | | | | | | * guix/import/cran.scm (phases-for-inputs, maybe-arguments): New procedures. (description->package): Splice in result of MAYBE-ARGUMENTS. Change-Id: I578e1903f37c91bf865f0be49b04187ec372ed05
* import/cran: Add transformation for "packaging".Ricardo Wurmus2024-01-18
| | | | | | * guix/import/cran.scm (transform-sysname): Add case for "python-packaging". Change-Id: I0d125fb3858c009a8527d60f56754b9b9c90b409
* import/cran: Accept optional alternative download procedure.Ricardo Wurmus2024-01-17
| | | | | | | | | | This is useful for cached mass imports. * guix/import/cran.scm (fetch-description-from-tarball): Accept optional download keyword. (fetch-description): Accept optional replacement-download argument. Change-Id: Ic917074656ac34a24c8e7eea3d3e0528fc5180b3
* import/cran: Add more invalid package names and translations.Ricardo Wurmus2024-01-16
| | | | | | | | | These were encountered in a mass import of Bioconductor packages. * guix/import/cran.scm (invalid-packages): Add "rtools". (transform-sysname): Add aliases for Python and bioinformatics packages. Change-Id: I97e13cee10c2ee85d4b9296d91afccbdbcec4946
* import/cran: Add more invalid package names and translations.Ricardo Wurmus2024-01-16
| | | | | | | * guix/import/cran.scm (invalid-packages): Add "build-essential". (transform-sysname): Add aliases for openssl, libxml2, and zlib. Change-Id: Ia142ebc388dbcd47caf3b2c5165bc21227bc1832
* import: crate: Simplify find-crate-version.Efraim Flashner2024-01-16
| | | | | | | * guix/import/crate.scm (find-crate-version): Reuse nonyanked-crate-versions, max-crate-version-of-semver. Change-Id: I976a3b5a397f0d6a7d723804a98356544bfc7da3
* import: crate: Update to latest semver version.Efraim Flashner2024-01-16
| | | | | | | | | | * guix/import/crate.scm (min-element, max-crate-version-of-semver, nonyanked-crate-versions): New procedures. (import-release)[version]: Update to the requested version or the newest semver-compatible version. Co-authored by David Elsing <david.elsing@posteo.net> Change-Id: I72b081147c4eb9faf482f159b7145aaaf9f91f29
* guix: import: Optionally import necessary yanked crates.David Elsing2024-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/guix.texi (Invoking guix import): Mention '--allow-yanked'. * guix/import/crate.scm (make-crate-sexp): Add yanked? argument. For yanked packages, use the full version suffixed by "-yanked" for generated variable names and add a comment and package property. (crate->guix-package): Add allow-yanked? argument and if it is set to #t, allow importing yanked crates if no other version matching the requirements exists. [find-package-version]: Packages previously marked as yanked are only included if allow-yanked? is #t and then take the lowest priority. [find-crate-version]: If allow-yanked? is #t, also consider yanked versions with the lowest priority. [dependency-name+version]: Rename to ... [dependency-name+version+yanked] ...this. Honor allow-yanked? and choose between an existing package and an upstream package. Exit with an error message if no version fulfilling the requirement is found. [version*]: Exit with an error message if the crate version is not found. (cargo-recursive-import): Add allow-yanked? argument. * guix/read-print.scm: Export <comment>. * guix/scripts/import/crate.scm: Add "--allow-yanked". * tests/crate.scm: Add test 'crate-recursive-import-only-yanked-available'. [sort-map-dependencies]: Adjust accordingly. [remove-yanked-info]: New variable. Adjust test 'crate-recursive-import-honors-existing-packages'. (test-bar-dependencies): Add yanked dev-dependencies. (test-leaf-bob-crate): Add yanked versions. (rust-leaf-bob-3.0.2-yanked): New variable. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Change-Id: I175d89b39774e6b57dcd1f05bf68718d23866bb7
* import: crate: Optionally import dev-dependencies recursively.David Elsing2024-01-09
| | | | | | | | | | | | | | | | | | | If --recursive-dev-dependencies is specified, development dependencies are also included for all recursively imported packages. * doc/guix.texi (Invoking guix import): Mention --recursive-dev-dependencies. * guix/import/crate.scm (crate-recursive-import): Add recursive-dev-dependencies? argument. * guix/scripts/import/crate.scm (show-help, guix-import-crate): Add "--recursive-dev-dependencies". * tests/crate.scm: Test both #f and #t for #:recursive-dev-dependencies? in the 'cargo-recursive-import' test. (test-root-dependencies): Add intermediate-c as dev-dependency. (test-intermediate-c-crate, test-intermediate-c-dependencies): New variables. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Change-Id: Iae89794681155d77f128733120e60f03bc297717
* gnu: import: Fix memoization in crate-recursive-import.David Elsing2024-01-09
| | | | | | | * guix/import/crate.scm (crate-recursive-import): Apply memoize outside the lambda passed to recursive-import in order to actually use the memoization. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* import/cran: Restore format-inputs.Ricardo Wurmus2024-01-01
| | | | | | | | | | | This fixes a regression introduced in commit e6223017d95bc615b2648f0798d9a3904d5b5f57 causing the selected input style to be ignored. * guix/import/cran.scm (format-inputs): New procedure. (maybe-inputs): Use it. Change-Id: I0d36f972fcb9888ed2be4ec9360bbcab13c25c5d
* import/cran: Add invalid package.Ricardo Wurmus2024-01-01
| | | | | | * guix/import/cran.scm (invalid-packages): Add libR. Change-Id: I1e06b44785051dfc4fb85ba06062aa8c8e003495
* import/cran: Export a few more variables and procedures.Ricardo Wurmus2023-12-19
| | | | | | | | | | This allows users of this module to provide e.g. caching alternatives to the download and fetch procedures. * guix/import/cran.scm (%bioconductor-version, download, fetch-description): Make these variables public. Change-Id: I9ce14db9be9b8b3314b06fa9eb50a4e24c5dd718
* guix: import: Add composer importer.Nicolas Graves2023-12-18
| | | | | | | | | | | | | | * guix/import/composer.scm: New file. * guix/scripts/import/composer.scm: New file. * guix/tests/composer.scm: New file. * Makefile.am: Add them. * guix/scripts/import.scm: Add composer importer. * doc/guix.texi (Invoking guix import): Mention it. Change-Id: I44a89b8cc80ef5b4a3cd15e8fbba4a18c1cea0b1 Co-authored-by: Julien Lepiller <julien@lepiller.eu> Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* guix: import: Report go version for go importer.Efraim Flashner2023-12-16
| | | | | | | | | * guix/import/go.scm (go-package, go.mod-go-version): New procedures. (go-module->guix-package): Add the #:go keyword in the generated package definition if the required go is newer than the default go. * tests/go.scm (mock-http-get): Use gexps for package arguments. Change-Id: I8d005740a442330ac307a40a53764c803ceffc4f
* guix: import: Don't include indirect dependencies in go.Efraim Flashner2023-12-16
| | | | | | | * guix/import/go.scm (parse-go.mod)[define-peg-patern require]: Adjust the peg pattern to reject lines with the 'indirect' comment in them. Change-Id: I9618bbaa1cb8c6549ced875e3c8d32afc72c3b9b
* guix: import: Fix parsing Cabal files that import many stanzasSaku Laesvuori2023-12-03
| | | | | | | | | * guix/import/cabal.scm (eval-cabal)[eval]: Split imports to a normalized list before mapping over it. * tests/hackage.scm: Test it. Change-Id: I39ece019251b6a23a937c8562d2d4a545a6bc7df Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
* guix: import: Parse cabal layout blocks correctlySaku Laesvuori2023-12-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | Cabal consideres lines to be part of a layout block if they are indented at least one space more than the field line the block belongs to. Previously Guix considered lines to be a part of the block if they were indented at least as much as the first line in it. This also makes a workaround that enabled if statements to have multiple elses redundant and removes it. Fixes: https://issues.guix.gnu.org/35743 * guix/import/cabal.scm (current-indentation*): Renamed from current-indentation. (previous-indentation, current-indentation): New variables. (make-cabal-parser): Remove outdated comment. [open]: Use previous-indentation + 1 instead of current-indentation. [elif-else]: Split to elif and else to allow only one ELSE in an if statement. (read-cabal)[parameterize]: Use current-indentation* and previous-indentation. * tests/hackage.scm (hackage->guix-package test mixed layout): Expect to pass. Change-Id: I3a1495b1588a022fabbfe8dad9f3231e578af4f3 Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
* guix: import: stackage: Fix crash on recursive importSaku Laesvuori2023-12-03
| | | | | | | | * guix/import/stackage.scm (lts-package-version): Call stackage-package-version only when the package is found. Change-Id: Ic8d7c1b7a42a9c1a6cbba567e148706507a53ee3 Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
* guix: import: hackage: Fix crash on recursive importSaku Laesvuori2023-12-03
| | | | | | | | | | Fixes: https://issues.guix.gnu.org/64734 * guix/import/hackage.scm (hackage-module->sexp): Return package names instead of <upstream-input> records. Change-Id: Id428a8b903b4b59d44205ca366324a0a69a4e05b Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
* guix: Upgrade to Bioconductor 3.18.Ricardo Wurmus2023-11-03
| | | | | | | | * guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.18. * guix/import/cran.scm (%bioconductor-version): Same. Change-Id: Ic3fc2e6ab6b5f6f6e55662f81baee67391158c5b
* guix: import: Don't import yanked rust crates.Efraim Flashner2023-10-22
| | | | | | | * guix/import/crate.scm (<crate-version>): Add yanked? field. (crate->guix-package)[find-crate-version]: Remove versions which have been yanked. * tests/crate.scm: Adjust tests for new yanked? field.
* guix: import: opam: Handle list of licenses.Josselin Poiret2023-10-17
| | | | | | | | | Fixes <https://issues.guix.gnu.org/issue/66461>. Reported by Simon Tournier <zimon.toutoune@gmail.com>. * guix/import/opam.scm (opam->guix-package): Handle lists of licenses. Signed-off-by: Simon Tournier <zimon.toutoune@gmail.com>
* import-utils: Do not include punctuation when wrapping in @code{}.Ricardo Wurmus2023-08-28
| | | | | * guix/import/utils.scm (beautify-description): Exclude punctuation. * tests/import-utils.scm: Add new test.
* guix: import: texlive importer handles Ruby linked scripts.Nicolas Goaziou2023-08-16
| | | | | * guix/import/texlive.scm (linked-scripts): Also check for scripts with ".rb" extension. (tlpdb->package): Add proper RUBY input for Ruby linked scripts.
* guix: import: Do not prefix `fsf-free' with "license:" in texlive.Nicolas Goaziou2023-08-14
| | | | | * guix/import/texlive.scm (tlpdb->package): For consistency with other imported licenses, `fsf-free' need not be prefixed with "license:".
* guix: import: Handle X11 license in texlive importer.Nicolas Goaziou2023-08-14
| | | | * guix/import/texlive.scm (string->license): Recognize X11 license.
* licenses: Add Arphic-1999 (Aprhic Public License).walky_talky2023-08-01
| | | | | | | * guix/licenses.scm (arphic-1999): New variable. * guix/import/utils.scm (%spdx-license-identifiers): Add Arphic-1999. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
* import/utils: beautify-description: Wrap class names in @code{...}.Ricardo Wurmus2023-07-19
| | | | | | * guix/import/utils.scm (beautify-description): Add procedure to wrap words in @code{...} markup. * tests/import-utils.scm: Add two tests.
* import/utils: Add more initial words to beautify-description.Ricardo Wurmus2023-07-19
| | | | | * guix/import/utils.scm (beautify-description): Add "Classes" and "Tools" to initial words to be prefixed with "This package provides".
* guix: Fix license translation in texlive importer.Nicolas Goaziou2023-07-18
| | | | | * guix/import/texlive.scm (string->license): Properly translate "artistic2" into `artistic2.0'.
* guix: texlive importer handles scripts with ".texlua" extension.Nicolas Goaziou2023-07-18
| | | | | * guix/import/texlive.scm (linked-scripts): Also offer to link scripts with a ".texlua" extension.
* guix: texlive import ignores TeXworks.Nicolas Goaziou2023-07-18
| | | | | * guix/import/texlive.scm (translate-depends): Ignore TeXworks files from TeX Live, since they are Windows-only.
* guix: texlive importer ignores Asymptote package.Nicolas Goaziou2023-07-18
| | | | | | | Asymptote is provided in `asymptote' Guix package. OTOH, asy executable is not built from TeX Live tree. Therefore, Asymptote package from TeX Live can be ignored. * guix/import/texlive.scm (translate-depends): Ignore Asymptote package.
* guix: import: texlive importer handles more licenses.Nicolas Goaziou2023-07-18
| | | | * guix/import/texlive.scm (string->license): Handle CC0 and ISC licenses.
* guix: import: Handle texlua and TCL scripts.Nicolas Goaziou2023-07-18
| | | | | | * guix/import/texlive.scm (linked-scripts): Also generate scripts from files with ".tlu" and ".tcl" extensions. (tlpdb->package): Add appropriate inputs when providing a TCL script.
* guix: texlive importer: Do not pull all "scripts/context/" files.Nicolas Goaziou2023-07-18
| | | | | | | | * guix/import/texlive.scm (texlive-generic-locations): Add "scripts/context/" since this location is split across multiple packages. * guix/import/texlive.scm (files->locations): Only single out files from generic locations, not their sub-directories. E.g., generic location "scripts/context/lua/" should not fetch "scripts/context/lua/third/" files.
* guix: Fix sub-directories in texlive importer locations.Nicolas Goaziou2023-07-18
| | | | | * guix/import/texlive.scm (files->locations): When removing a sub-directory, make sure to actually remove the sub-directory and not the parent.
* guix: texlive importer ignores "-dev" packages in propagated inputs.Nicolas Goaziou2023-07-18
| | | | * guix/import/texlive.scm (translate-depends): Skip "-dev" packages.
* guix: texlive importer allows meta-packages to build TeX formats.Nicolas Goaziou2023-07-18
| | | | | * guix/import/texlive.scm (tlpdb->package): A package with no locations can still build TeX format files, and therefore may use TEXLIVE-BUILD-SYSTEM.