Age | Commit message (Expand) | Author |
2024-01-09 | guix: import: Optionally import necessary yanked crates.•••* 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
| David Elsing |
2024-01-09 | import: crate: Optionally import dev-dependencies recursively.•••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
| David Elsing |
2024-01-09 | gnu: import: Fix memoization in crate-recursive-import.•••* 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>
| David Elsing |
2024-01-01 | import/cran: Restore format-inputs.•••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
| Ricardo Wurmus |
2024-01-01 | import/cran: Add invalid package.•••* guix/import/cran.scm (invalid-packages): Add libR.
Change-Id: I1e06b44785051dfc4fb85ba06062aa8c8e003495
| Ricardo Wurmus |
2023-12-19 | import/cran: Export a few more variables and procedures.•••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
| Ricardo Wurmus |
2023-12-18 | guix: import: Add composer importer.•••* 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>
| Nicolas Graves |
2023-12-16 | guix: import: Report go version for go importer.•••* 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
| Efraim Flashner |
2023-12-16 | guix: import: Don't include indirect dependencies in go.•••* 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
| Efraim Flashner |
2023-12-03 | guix: import: Fix parsing Cabal files that import many stanzas•••* 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>
| Saku Laesvuori |
2023-12-03 | guix: import: Parse cabal layout blocks correctly•••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>
| Saku Laesvuori |
2023-12-03 | guix: import: stackage: Fix crash on recursive import•••* 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>
| Saku Laesvuori |
2023-12-03 | guix: import: hackage: Fix crash on recursive import•••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>
| Saku Laesvuori |
2023-11-03 | guix: Upgrade to Bioconductor 3.18.•••* guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to
3.18.
* guix/import/cran.scm (%bioconductor-version): Same.
Change-Id: Ic3fc2e6ab6b5f6f6e55662f81baee67391158c5b
| Ricardo Wurmus |
2023-10-22 | guix: import: Don't import yanked rust crates.•••* 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.
| Efraim Flashner |
2023-10-17 | guix: import: opam: Handle list of licenses.•••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>
| Josselin Poiret |
2023-08-28 | import-utils: Do not include punctuation when wrapping in @code{}.•••* guix/import/utils.scm (beautify-description): Exclude punctuation.
* tests/import-utils.scm: Add new test.
| Ricardo Wurmus |
2023-08-16 | guix: import: texlive importer handles Ruby linked scripts.•••* guix/import/texlive.scm (linked-scripts): Also check for scripts with ".rb" extension.
(tlpdb->package): Add proper RUBY input for Ruby linked scripts.
| Nicolas Goaziou |
2023-08-14 | guix: import: Do not prefix `fsf-free' with "license:" in texlive.•••* guix/import/texlive.scm (tlpdb->package): For consistency with other
imported licenses, `fsf-free' need not be prefixed with "license:".
| Nicolas Goaziou |
2023-08-14 | guix: import: Handle X11 license in texlive importer.•••* guix/import/texlive.scm (string->license): Recognize X11 license.
| Nicolas Goaziou |
2023-08-01 | licenses: Add Arphic-1999 (Aprhic Public License).•••* guix/licenses.scm (arphic-1999): New variable.
* guix/import/utils.scm (%spdx-license-identifiers): Add Arphic-1999.
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
| walky_talky |
2023-07-19 | import/utils: beautify-description: Wrap class names in @code{...}.•••* guix/import/utils.scm (beautify-description): Add procedure to wrap words in
@code{...} markup.
* tests/import-utils.scm: Add two tests.
| Ricardo Wurmus |
2023-07-19 | import/utils: Add more initial words to beautify-description.•••* guix/import/utils.scm (beautify-description): Add "Classes" and "Tools" to
initial words to be prefixed with "This package provides".
| Ricardo Wurmus |
2023-07-18 | guix: Fix license translation in texlive importer.•••* guix/import/texlive.scm (string->license): Properly translate "artistic2"
into `artistic2.0'.
| Nicolas Goaziou |
2023-07-18 | guix: texlive importer handles scripts with ".texlua" extension.•••* guix/import/texlive.scm (linked-scripts): Also offer to link scripts with
a ".texlua" extension.
| Nicolas Goaziou |
2023-07-18 | guix: texlive import ignores TeXworks.•••* guix/import/texlive.scm (translate-depends): Ignore TeXworks files from TeX
Live, since they are Windows-only.
| Nicolas Goaziou |
2023-07-18 | guix: texlive importer ignores Asymptote package.•••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.
| Nicolas Goaziou |
2023-07-18 | guix: import: texlive importer handles more licenses.•••* guix/import/texlive.scm (string->license): Handle CC0 and ISC licenses.
| Nicolas Goaziou |
2023-07-18 | guix: import: Handle texlua and TCL scripts.•••* 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.
| Nicolas Goaziou |
2023-07-18 | guix: texlive importer: Do not pull all "scripts/context/" files.•••* 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.
| Nicolas Goaziou |
2023-07-18 | guix: Fix sub-directories in texlive importer locations.•••* guix/import/texlive.scm (files->locations): When removing a sub-directory,
make sure to actually remove the sub-directory and not the parent.
| Nicolas Goaziou |
2023-07-18 | guix: texlive importer ignores "-dev" packages in propagated inputs.•••* guix/import/texlive.scm (translate-depends): Skip "-dev" packages.
| Nicolas Goaziou |
2023-07-18 | guix: texlive importer allows meta-packages to build TeX formats.•••* guix/import/texlive.scm (tlpdb->package): A package with no locations can
still build TeX format files, and therefore may use TEXLIVE-BUILD-SYSTEM.
| Nicolas Goaziou |
2023-07-18 | guix: Handle asl2.0 license in texlive importer.•••* guix/import/texlive.scm (string->license): Convert "apache2" to ASL2.0.
| Nicolas Goaziou |
2023-07-18 | guix: Make "gfsl" an alias for gfl1.0 license in texlive importer.•••* guix/import/texlive.scm (string->license): Make "gfsl" and alias for GFL1.0.
| Nicolas Goaziou |
2023-07-18 | gnu: texlive-bin: Do not install all linked scripts.•••* gnu/packages/tex.scm (texlive-scripts): Include only core scripts along with
their man pages and their dependencies. Also patch them for use in Guix.
(texlive-bin): Simplify package.
[inputs]: Remove "texlive-extra-src" and "texlive-scripts" inputs. Remove
labels from other inputs.
[propagated-inputs]: Add TEXLIVE-SCRIPTS.
[arguments]: Use G-expressions.
<#:configure-flags>: Add "--disable-linked-scripts".
<#:phases>: Remove phases relative to scripts.
* guix/profiles.scm (texlive-font-maps): Fetch executables from both
TEXLIVE-SCRIPTS and TEXLIVE-BIN.
* guix/import/texlive.scm (tlpdb-file): Grab file from TEXLIVE-SCRIPTS instead
of TEXLIVE-BIN.
| Nicolas Goaziou |
2023-07-18 | guix: Let texlive importer handle linked scripts.•••* guix/import/texlive.scm (tlpdb): Also retrieve so-called binfiles.
(formats):
(linked-scripts): New functions.
(tlpdb->package): Use new functions to set #:LINK-SCRIPTS argument and
possibly INPUTS.
* tests/texlive.scm (%fake-tlpdb): Add test data.
("texlive->guix-package, single script, no extension"):
("texlive->guix-package, multiple scripts, with extensions"):
("texlive->guix-package, script with associated input"): New tests.
| Nicolas Goaziou |
2023-07-18 | guix: texlive importer: Set #:texlive-latex-bin? when appropriate.•••* guix/import/texlive.scm (latex-bin-dependency-tree): New function.
(tlpdb->package): Set #:TEXLIVE-LATEX-BIN? when appropriate.
* tests/texlive.scm ("texlive->guix-package, lonely `hyphen-base' dependency
and ARCH"): Update test.
| Nicolas Goaziou |
2023-07-18 | guix: texlive importer: Fix build system and arguments for meta-packages.•••* guix/import/texlive.scm (tlpdb->package): Meta packages should use trivial
build system and an appropriate builder.
* tests/texlive.scm ("texlive->guix-package, meta-package"):
("texlive->guix-package, translate dependencies"): Update tests.
| Nicolas Goaziou |
2023-07-18 | guix: texlive importer ignores dependencies unnecessary in Guix.•••* guix/import/texlive.scm (translate-depends): New function.
(tlpdb->package): Use new function.
* tests/texlive.scm (%fake-tlpdb): Add test data.
("texlive->guix-package, translate dependencies"):
("texlive->guix-package, lonely `hyphen-base' dependency and ARCH"): New tests.
| Nicolas Goaziou |
2023-07-18 | guix: Let texlive importer suggest format creation.•••* guix/import/texlive.scm (tlpdb): Store "execute" entries.
(tlpdb->package): Add #:CREATE-FORMATS argument when there is an AddFormat
execute action.
* tests/texlive.scm (%fake-tlpdb): Add test data.
("texlive->guix-package, with TeX format"):
("texlive->guix-package, execute but no TeX format"): New tests.
| Nicolas Goaziou |
2023-07-18 | guix: import: Improve importing texlive meta packages.•••* guix/import/texlive.scm (tlpdb->package): Generate more appropriate source,
home page and license fields when importing meta packages, i.e., TeX Live
collections and schemes.
* tests/texlive.scm (%fake-tlpdb): Add test data.
("texlive->guix-package, meta-package"): New test.
| Nicolas Goaziou |
2023-07-18 | guix: import: Fix Creative Common licenses in texlive importer.•••* guix/import/texlive.scm (string->license): Fix symbol used for some CC-BY
licenses. Add version 4.0 for CC-BY and CC-BY-SA.
| Nicolas Goaziou |
2023-07-18 | guix: import: Handle native inputs in texlive importer.•••* guix/import/texlive.scm (tlpdb->package): Add TEXLIVE-METAFONT as a native
input whenever font metrics are to be generated.
* tests/texlive.scm (%fake-tlpdb): Add test data.
("texlive->guix-package, with METAFONT files"): New test.
| Nicolas Goaziou |
2023-07-18 | guix: import: Fix multiple licenses output in texlive importer.•••* guix/import/texlive.scm (string->license): Add missing case and try first to
split license strings before giving up.
* tests/texlive.scm (%fake-tlpdb): Add test data.
("texlive->guix-package, multiple licenses"): New test.
| Nicolas Goaziou |
2023-07-18 | guix: import: texlive use full file names for generic directories.•••Generic directories, such as "doc/info/" or "doc/man" are shared by multiple
packages. With this change, the texlive importer specifies the full file name
of package-specific files there, making sure only them are downloaded.
* guix/import/texlive.scm (texlive-generic-locations): New variable.
(files->locations): Renamed from files->directories.
Provide full file names when necessary.
(tlpdb->package): Apply renaming.
| Nicolas Goaziou |
2023-07-18 | guix: import: Improve home-page generation in texlive importer.•••* guix/import/texlive.scm (tlpdb): Also register `catalogue' key.
(tlpdb->package): First try to use catalogue for the home-page, then the
name.
* tests/texlive.scm (%fake-tlpdb): Add tests data.
("texlive->guix-package, with catalogue entry, no inputs"): New test.
| Nicolas Goaziou |
2023-07-18 | guix: import: Update texlive importer according to new build system.•••* guix/import/texlive.scm (tlpdb->package): Generate a package that doesn't
need SIMPLE-TEXLIVE-PACKAGE.
* guix/import/utils.scm (package->definition): Remove special case for
`simple-texlive-package'.
* tests/texlive.scm (%fake-tlpdb): Add test data.
("texlive->guix-package"): Update test.
("texlive->guix-package, no docfiles"): New test.
| Nicolas Goaziou |
2023-07-12 | import/cran: Add one more package name transformation.•••* guix/import/cran.scm (transform-sysname): Add entry for "zlib-devel".
| Ricardo Wurmus |
2023-06-14 | import/cran: Add another clause for ASL 2.0.•••* guix/import/cran.scm (string->license): Add clause for >= 2.0.
| Ricardo Wurmus |