Age | Commit message (Collapse) | Author |
|
* gnu/import/egg.scm (Commentary): Fix typo in Commentary docstring.
Signed-off-by: Christopher Baines <mail@cbaines.net>
|
|
Previously, '+' was supported only via special cases for deprecated
GNU identifiers like 'GPL-N+'. This commit adds support
for other uses of '+', such as 'AFL-2.0+' and 'LPPL-1.0+'.
Strictly speaking, '+' is an operator, not part of the SPDX license
identifier, but it is useful to handle it here.
* guix/import/utils.scm (spdx-string->license): Support '+' operator.
* tests/import-utils.scm ("spdx-string->license"): Test it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
SPDX specifies that license identifiers (unlike the 'AND', 'OR', and
'WITH' operators) are matched case-insensitively.
* guix/import/utils.scm (%spdx-license-identifiers): New variable.
(spdx-string->license): Search in '%spdx-license-identifiers' using
'string-ci=?'.
* tests/import-utils.scm ("spdx-string->license"): New test.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
|
|
The result of 'spdx-string->license' is a symbol, not a license object.
* guix/import/utils.scm (spdx-string->license): Fix docstring.
(license->symbol): Mention 'license:' prefix in docstring.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/import/cran.scm (transform-sysname): Map "freetype2" to "freetype".
|
|
* guix/import/cran.scm (transform-sysname): Add mapping for "booktabs".
|
|
* guix/import/cran.scm (invalid-packages): Add "c++", "c++17", and
"posix.1-2001" to list of invalid packages.
|
|
* guix/import/utils.scm (beautify-description): Remove single quote wrapping;
escape @; exclude common abbreviations and titles from double-spacing; detect
more sentence fragments.
|
|
* guix/import/print.scm (package->code): Quasiquote properties.
* tests/print.scm (pkg-with-properties, pkg-with-properties-source):
New variables.
("package with properties"): New test
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/import/utils.scm (alist->package): Process properties field in input
data and include it in the generated package.
* tests/import-utils.scm ("alist->package with properties"): New test.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/import/cran.scm (string->license): Add more match clauses.
(string->licenses): Split license conjunctions at "|" and apply
string->license on each license.
(description->package): Use string->licenses.
|
|
* guix/import/cran.scm (description->package): Use beautify-synopsis.
|
|
* guix/import/utils.scm (beautify-synopsis): New procedure.
|
|
* guix/import/cran.scm (transform-sysname): New procedure.
(description->package): Use it on inputs that are derived from "sysdepends".
|
|
* guix/import/cran.scm (invalid-packages): Add none, windows, and xcode.
|
|
* guix/import/cran.scm (description->package): Use COND with previously
computed booleans instead of using CASE on REPOSITORY.
|
|
* guix/import/cran.scm (download): Accept REF argument for git downloads.
|
|
* guix/import/gem.scm: (rubygems-fetch, gem->guix-package)
(gem-recursive-import): Fix to fetch the specified version of the gem.
* guix/scripts/import/gem.scm (show-help): Update the help message.
(guix-import-gem): Modify so the version number to be passed to subsequent
procedures.
* tests/gem.scm: Add tests.
* doc/guix.texi (Invoking guix import): Document.
Signed-off-by: Christopher Baines <mail@cbaines.net>
|
|
Before this change, we'd get:
$ guix refresh gedit
updating from version 40.1 to version 43.alpha...
This is because the new GNOME version scheme introduced in 2021 with GNOME 40
was not treated correctly. Also, no longer ignore odd numbered minor
versions, as this appears to be a declining practice in GNOME.
* guix/import/gnome.scm (latest-gnome-release)
<pre-release-text?>: New predicate.
<even-minor-version?>: Rename to...
<release-version?>: ...this. Return #f in case the version corresponds to a
development release.
* guix/import/gnome.scm (latest-gnome-release): Adjust accordingly.
|
|
Reported by Maxim Cournoyer.
This is a followup to 61b63e7fa73be8828af2b36d196c3676c974e119.
* guix/import/gnome.scm (latest-gnome-release)[even-minor-version?]:
Reject VERSION is the minor or micro part is not an integer.
|
|
That way, "guix refresh gnome-keyring" will properly return "42.1"
instead of "42.0".
Reported by Maxim Cournoyer.
* guix/import/gnome.scm (latest-gnome-release)[even-minor-version?]:
Tweak for GNOME applications.
|
|
* guix/import/utils.scm (beautify-description): Add case to transform
sentences beginning with "Implements".
|
|
* guix/import/texlive.scm (tlpdb->package): Add VERSION argument; include
explicit version field in output.
(texlive->guix-package): Set default value for VERSION argument; adjust call
of tlpdb->package.
(texlive-recursive-import): Accept REPO and VERSION keyword arguments.
* guix/import/utils.scm (package->definition): Add a clause to deal with
output from tlpdb->package.
* guix/scripts/import/texlive.scm (%options): Add "recursive" option.
(guix-import-texlive): Honor "recursive" option.
* doc/guix.texi (Using TeX and LaTeX): Mention "recursive" option.
|
|
I missed this remark from the review when pushing the last change.
* guix/import/pypi.scm(python->package-name): Replace the trailing '#t'-case
by a 'else'.
|
|
Trytond modules are Python packages, and treated like this in guix. Anyhow,
since they are add-ons for the “Trytond“ application, their guix package name
do not get the "python-" prefix like other Python modules, (see also
https://issues.guix.gnu.org/46057#1). This change disables adding the
"python-" prefix to the guix package name for Trytond modules when importing
and updating, thus inhibiting irritating messages like in this example:
$ guix refresh -u trytond-party
…
trytond-party: consider adding this propagated input: python-trytond-country
trytond-party: consider removing this propagated input: trytond-country
Handling this special case seems appropriate since (as of now) there are
about 165 packages for Trytond and the number is growing.
* guix/import/pypi.scm(python->package-name): Don't add "python-" prefix for
trytond packages.
|
|
'egg-source-url' did not return the URL, but the quoted expression. This did
break the updater, which expects the URL as a string.
* guix/import/egg.scm(egg-source-url): Remove.
(egg->guix-package)[egg-content]: Use quoted expression directly.
(latest-release): Call egg-uri instead of egg-source-url.
|
|
This effects packages hosted at github with source-uri like
…/releases/download/REPO-VERSION/REPO-VERSION.EXT.
E.g. ‘guix refresh udisks’ would fail to find the new release of ‘udisks’
before this change.
* guix/import/github.scm(updated-url): For one one of the
cases add missing 'prefix' and set new version.
|
|
hex.pm is a package repository for Erlang and Elixir.
* guix/scripts/import.scm (importers): Add "hexpm".
* guix/scripts/import/hexpm.scm, guix/import/hexpm.scm,
guix/hexpm-download.scm: New files.
* guix/import/utils.scm (source-spec->object): Add "hexpm-fetch" to list of
fetch methods.
* guix/upstream.scm (package-update/hexpm-fetch): New function.
(%method-updates) Add it.
* Makefile.am: Add them.
|
|
* guix/import/hackage.scm (filter-dependencies): Convert OWN-NAMES
to lowercase before filtering.
(hackage-module->sexp): Remove #f from OWN-NAMES, which is used for
unnamed (default) libraries.
* tests/hackage.scm (test-cabal-internal-library-ignored): Add mismatched
uppercase letters.
|
|
Fixes <https://issues.guix.gnu.org/54760>.
* guix/import/hackage.scm (filter-dependencies): Support multiple
OWN-NAMES.
(hackage-module->sexp): Filter OWN-NAMES from HACKAGE-DEPENDENCIES and
HACKAGE-NATIVE-DEPENDENCIES.
* tests/hackage.scm (test-cabal-internal-library-ignored): New variable.
("hackage->guix-package test internal libraries are ignored"): New testcase.
|
|
* guix/import/cabal.scm (make-cabal-parser): Add name to section.
(is-lib): Add optional name to regular expression.
(lex-rx-res): Support selecting different substring.
(lex-lib): Match 2nd substring from IS-LIB.
(lex-line): Adapt to changes for lex-lib.
(cabal-library): Add name field and export CABAL-LIBRARY-NAME.
(eval): Remove special case for 'library, which is not required any more.
(make-cabal-section): Move special case for LIBRARY.
* tests/hackage.scm (test-read-cabal-library-name): New variable.
("read-cabal test 1"): Adapt testcase to changed internal structure.
("read-cabal test: library name"): New testcase.
|
|
* guix/import/cabal.scm (is-else): Turn into procedure.
(lex-line): Move IS-ELSE…
(lex-word): …here.
* tests/hackage.scm (test-cabal-elif-brackets): Extend testcase.
|
|
* guix/import/cabal.scm (lex-word): Add colon to delimiters.
* tests/hackage.scm (test-cabal-property-no-space): New variable.
("hackage->guix-package test properties without space"): New test.
|
|
* guix/import/cabal.scm (is-layout-property): Do not expect end of line.
(lex-layout-property): Check for newline.
(lex-property): Stop reading on closing curly bracket.
* tests/hackage.scm (test-read-cabal-2): New variable.
("read-cabal test: if brackets on the same line"): New test.
|
|
Fixes <https://issues.guix.gnu.org/54752>.
* guix/import/cabal.scm (make-cabal-parser): Replace if-then-else grammar case with elif-else, modify if-then accordingly.
(is-elif): New procedure.
(lex-elif): Likewise.
(is-id): Add elif keyword.
(lex-word): Add test for elif.
* tests/hackage.scm (test-cabal-if): New variale.
(test-cabal-else): Likewise.
(test-cabal-elif): Likewise.
(test-cabal-elif-brackets): Likewise.
(match-ghc-elif): Likewise.
("hackage->guix-package test lonely if statement",
"hackage->guix-package test else statement",
"hackage->guix-package test elif statement",
"hackage->guix-package test elif statement with brackets"): New tests.
|
|
* guix/import/minetest.scm (important-dependencies): Fix ‘choosen’ typo.
|
|
* guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to
3.15.
* guix/import/cran.scm (%bioconductor-version): Same.
|
|
* guix/licenses.scm (expat-0): New variable.
* guix/import/utils.scm (spdx-string->license): Add MIT-0.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/import/utils.scm (spdx-string->license): Update.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/import/elm.scm, guix/scripts/import/elm.scm: New files.
* Makefile.am (MODULES): Add them.
* guix/scripts/import.scm (importers): Add "elm".
* doc/guix.texi (Invoking guix import): Document Elm importer.
* doc/contributing.texi (Elm Packages): Mention it.
* tests/elm.scm ("(guix import elm)"): New test group.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
For example, supplying 'http-fetch/cached' would enable caching.
* guix/import/json.scm (json-fetch): Add '#:http-fetch' argument.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
This also ensures a package can be imported even when it does not
specify a URL.
* guix/import/opam.scm (opam->guix-source): New procedure.
(opam->guix-package): Use it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/import/opam.scm (SP, SP2): Accept tabulation as whitespace.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/import/pypi.scm (make-pypi-sexp)<unzip>: Use new style.
|
|
* guix/import/hackage.scm (read-cabal-and-hash)
(hackage-fetch-and-hash, hackage-fetch)
(hackage->guix-package): Use 'let' and 'let*' instead of 'let-values'
and 'let*-values'.
|
|
* guix/import/hackage.scm (hackage-module->sexp): Unroll pointless calls
to 'compose'.
(hackage->guix-package): Likewise.
|
|
Partly fixes <https://bugs.gnu.org/44115>.
* guix/import/pypi.scm (cran->guix-package): Return 'values'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Partly fixes <https://bugs.gnu.org/44115>.
* guix/import/elpa.scm (elpa->guix-package): Return values.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Partly fixes <https://bugs.gnu.org/44115>.
* guix/import/hackage.scm (hackage->guix-package): Return 'values'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Partly fixes <https://bugs.gnu.org/44115>.
* guix/import/pypi.scm (pypi->guix-package): Return two values when
PROJECT is false.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
|