Age | Commit message (Expand) | Author |
2022-06-06 | import: cabal: Support elif statement....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.
| Lars-Dominik Braun |
2022-05-29 | import: minetest: Fix typo....* guix/import/minetest.scm (important-dependencies): Fix ‘choosen’ typo.
| Tobias Geerinckx-Rice |
2022-05-28 | guix: Upgrade to Bioconductor 3.15....* guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to
3.15.
* guix/import/cran.scm (%bioconductor-version): Same.
| Ricardo Wurmus |
2022-05-23 | licenses: Add Expat No Attribution license....* 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>
| Kyle Meyer |
2022-05-23 | import: utils: Update list of SPDX licenses....* guix/import/utils.scm (spdx-string->license): Update.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Nicolas Graves |
2022-05-22 | import: Add Elm importer....* 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>
| Philip McGrath |
2022-05-22 | import: json: Accept '#:http-fetch' in 'json-fetch'....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>
| Philip McGrath |
2022-04-11 | import: opam: Factor out source import....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>
| Julien Lepiller |
2022-04-11 | import: opam: Accept tabulations....* guix/import/opam.scm (SP, SP2): Accept tabulation as whitespace.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Julien Lepiller |
2022-04-04 | import: pypi: Use new style for the conditional unzip input....* guix/import/pypi.scm (make-pypi-sexp)<unzip>: Use new style.
| Maxim Cournoyer |
2022-03-07 | import: hackage: Use SRFI-71 instead of SRFI-11....* 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'.
| Ludovic Courtès |
2022-03-07 | import: hackage: Avoid pointless use of 'compose'....* guix/import/hackage.scm (hackage-module->sexp): Unroll pointless calls
to 'compose'.
(hackage->guix-package): Likewise.
| Ludovic Courtès |
2022-03-07 | import: cran: Return multiple values for unknown packages....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>
| zimoun |
2022-03-07 | import: elpa: Return multiple values for unknown packages....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>
| zimoun |
2022-03-07 | import: hackage: Return multiple values for unknown packages....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>
| zimoun |
2022-03-07 | import: pypi: Return multiple values for unknown packages....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>
| zimoun |
2022-03-07 | import: pypi: Gracefully handle missing project home page....Fixes <https://issues.guix.gnu.org/54259>.
Reported by Ricardo Wurmus <rekado@elephly.net>.
* guix/import/pypi.scm (pypi->guix-package): Upon
'missing-source-error?', raise '&fix-hint' only if
'project-info-home-page' returns a non-empty string.
| Ludovic Courtès |
2022-03-06 | import: github: Reuse HTTP connection for the /tags URL fallback....* guix/import/github.scm (fetch-releases-or-tags): Call
'open-connection-for-uri' and reuse the same connection for the two
'http-fetch' calls.
* .dir-locals.el (scheme-mode): Add 'call-with-port'.
| Ludovic Courtès |
2022-03-06 | import: github: Gracefully handle rate limit exhaustion....Previously, 'guix refresh' would literally crash when the rate limit was
reached due to the call to 'error'. With this change, the updater
notices when the rate limit is reached and it turns itself into a no-op
until the rate limit has been reset.
When running "guix refresh" (with no arguments), the 'github' updater
gets used until the rate limit has been reached, after which "guix
refresh" automatically picks up the next valid updater, typically
'generic-git'.
* guix/import/github.scm (fetch-releases-or-tags): Use 'http-fetch'
directly instead of 'json-fetch' to let 'http-get-error?' exceptions
through. Handle 403 errors with an 'X-RateLimit-Remaining' header.
(%rate-limit-reset-time): New variable.
(update-rate-limit-reset-time!, request-rate-limit-reached?): New
procedures.
(latest-released-version): Remove calls to 'error'.
| Ludovic Courtès |
2022-02-08 | import: utils: Harden beautify-description....* guix/import/utils.scm (beautify-description): Handle non-string
arguments.
[use-modules]: Explicitly import G_ from (guix i18n) and make (guix ui)
import explicit.
* guix/import/opam.scm: [use-modules] Make imports explicit for module
(guix import utils).
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Alice BRENON |
2022-02-02 | import: pypi: Display a hint upon "no source release" errors....Fixes <https://issues.guix.gnu.org/49083>.
* guix/import/pypi.scm (pypi->guix-package): Upon
'missing-source-error?', raise a compound condition with a hint.
| Ludovic Courtès |
2022-01-26 | import: pypi: Convert hyphens to underscores in PyPI URLs if needed....* guix/import/pypi.scm (find-project-url): New function.
(make-pypi-sexp): Use find-project-url.
* tests/pypi.scm (foo-json): New procedure.
(test-json-1, test-json-2): Define in terms of it.
("find-project-url, with numpy", "find-project-url, uWSGI"):
("find-project-url, flake8-array-spacing")
("find-project-url, foo/goo"): New tests.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Vivien Kraus |
2022-01-20 | import/texlive: Add helper to check installed files....* guix/import/texlive.scm (files-differ?): New procedure.
| Ricardo Wurmus |
2022-01-20 | guix: import/cran: Cast booleans....This is needed due to a change in file-hash*.
* guix/import/cran.scm (description->package): Ensure that GIT? and HG? are
booleans.
| Ricardo Wurmus |
2022-01-16 | import/github: Test it....* Makefile.am (SCM_TESTS): Register new tests.
* guix/import/github.scm
(%github-api): New variable.
(fetch-releases-or-tags): Use the new variable.
* tests/import-github.scm: New file with tests.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Maxime Devos |
2022-01-16 | import/github: Return <git-reference> objects for git-fetch origins....* guix/import/github.scm
(latest-released-version): Also return the tag.
(latest-release): Use this information to return <git-reference> objects
when appropriate.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Maxime Devos |
2022-01-13 | import: texlive: Remove labels from 'propagated-inputs' field....* guix/import/texlive.scm (tlpdb->package): Remove labels from
'propagated-inputs' field.
* tests/texlive.scm ("texlive->guix-package"): Adjust accordingly.
| Ludovic Courtès |
2022-01-10 | import: texlive: Remove more specific entries with the same prefix....* guix/import/texlive.scm (files->directories): Ensure that any more specific
directory is removed if a parent directory is in the list of provided
locations.
| Ricardo Wurmus |
2022-01-09 | import: go: Correctly report diagnostics upon version mismatch....* guix/import/go.scm (strip-v-prefix, ensure-v-prefix)
(validate-version): New procedures.
(go-module->guix-package): Use 'validate-version' when defining
'version*'. Remove 'else' clause in SRFI-34 guard.
| Ludovic Courtès |
2022-01-06 | upstream: Support updating and fetching 'git-fetch' origins....Updaters need to be modified to return 'git-reference' objects.
This patch modifies the 'generic-git' and 'minetest' updater,
but others might need to be modified as well.
* guix/git.scm (git-reference->git-checkout): New procedure.
* guix/upstream.scm (package-update/git-fetch): New procedure.
(<upstream-source>)[urls]: Document it can be a 'git-reference'.
(%method-updates): Add 'git-fetch' mapping.
(update-package-source): Support 'git-reference' sources.
(upstream-source-compiler/url-fetch): Split off from ...
(upstream-source-compiler): ... this, and call ...
(upstream-source-compiler/git-fetch): ... this new procedure if the URL
field contains a 'git-reference'.
* guix/import/git.scm
(latest-git-tag-version): Always return two values and document that the tag
is returned as well.
(latest-git-release)[urls]: Use the 'git-reference' instead of the
repository URL.
* guix/import/minetest.scm (latest-minetest-release)[urls]: Don't wrap the
'git-reference' in a list.
* tests/minetest.scm (upstream-source->sexp): Adjust to new convention.
Co-authored-by: Maxime Devos <maximedevos@telenet.be>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Sarah Morgensen |
2022-01-06 | import: Factorize file hashing....* guix/import/cran.scm (vcs-file?, file-hash): Remove procedures.
(description->package): Use 'file-hash*' instead.
* guix/import/elpa.scm (vcs-file?, file-hash): Remove procedures.
(git-repository->origin, elpa-package->sexp): Use 'file-hash* instead'.
* guix/import/go.scm (vcs-file?, file-hash): Remove procedures.
(git-checkout-hash): Use 'file-hash*' instead.
* guix/import/minetest.scm (file-hash): Remove procedure.
(make-minetest-sexp): Use 'file-hash*' instead.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Sarah Morgensen |
2022-01-05 | import: elpa: Also check NonGNU ELPA for updates....* guix/import/elpa.scm (latest-release): Determine the repository based
on the URL of the source.
(package-from-gnu.org?): Rename to ...
(elpa-repository): ...this; memoize.
(package-from-elpa-repository?): New procedure.
(%elpa-updater): Adjust accordingly.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Xinglu Chen |
2021-12-18 | import: elpa: Support ‘upstream-name’ property....* guix/import/elpa.scm: (guix-package->elpa-name): New procedure.
(latest-release): Use it.
* tests/elpa.scm ("guix-package->elpa-name: without 'upstream-name' property")
("guix-package->elpa-name: with 'upstream-name' property"): Test it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Xinglu Chen |
2021-12-17 | import: Beautify descriptions when appropriate....* guix/import/elpa.scm (elpa-package->sexp)
* guix/import/gnu.scm (gnu-package->sexp)
* guix/import/hackage.scm (hackage-module->sexp)
* guix/import/minetest.scm (make-minetest-sexp)
* guix/import/opam.scm (opam->guix-package)
* guix/import/pypi.scm (make-pypi-sexp): Beautify descriptions.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Xinglu Chen |
2021-12-17 | import: utils: Wrap lines in description....* guix/import/utils.scm (beautify-description): Use ‘fill-paragraph’; add
optional ‘length’ argument.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Xinglu Chen |
2021-12-05 | Merge remote-tracking branch 'origin/master' into core-updates-frozen | Ricardo Wurmus |
2021-12-05 | import: PyPI: Validate GPG signatures when applicable....* guix/import/pypi.scm (<distribution>): Fix funny typo.
(latest-release): When the distribution has a cryptographic signature, pass it
along to UPSTREAM-SOURCE.
| Marius Bakke |
2021-12-01 | build-system: haskell: Add ‘hackage-uri’ procedure....* guix/build-system/haskell (hackage-uri): New procedure.
* guix/import/hackage.scm (hackage-module->sexp, latest-release): Use it.
* tests/hackage.scm (match-ghc-foo, match-ghc-foo-6, match-ghc-foo-revision,
match-ghc-foo-import): Adjust accordingly.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Xinglu Chen |
2021-11-23 | Merge branch 'master' into core-updates-frozen | Ludovic Courtès |
2021-11-22 | import: opam: Fix error on unknown field value....* guix/import/opam.scm (metadata-ref): Return #f if field is present,
but its content is of unknown form.
| Julien Lepiller |
2021-11-19 | import: opam: Warn instead of leave when fetching fails....* guix/import/opam.scm (opam-featch): Warn instead of leave when fetching
fails.
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
| zimoun |
2021-11-18 | import: texlive: Take different package database as optional argument....* guix/import/texlive.scm (tlpdb->package): Expect PACKAGE-DATABASE as
argument.
(texlive->guix-package): Accept PACKAGE-DATABASE keyword.
| Ricardo Wurmus |
2021-11-18 | import: texlive: Print inputs with labels and guixified names....* guix/import/texlive.scm (tlpdb->package): Improve handling of propagated-inputs.
| Ricardo Wurmus |
2021-11-17 | Merge branch 'master' into core-updates-frozen | Ludovic Courtès |
2021-11-17 | import: texlive: Remove leftover 'pk'....* guix/import/texlive.scm (files->directories): Remove leftover 'pk'
call.
| Ludovic Courtès |
2021-11-17 | import: texlive: Load (gnu packages tex) dynamically....Fixes a bug whereby 'guix pull' would fail with this guix-extra.drv
build failure:
ice-9/eval.scm:163:9: ERROR:
1. &formatted-message:
format: "~a: patch not found\n"
arguments: ("nettle-3.5-check-_pkcs1_sec_decrypt-msg-len.patch")
Reported by ekaitz on #guix.
Regression introduced in 3b1a12c5bff5a0c108284d19a6982bdf663bbceb.
* guix/import/texlive.scm: Autoload (gnu packages tex).
fixlet
| Ludovic Courtès |
2021-11-17 | import: Replace texlive importer....* guix/import/texlive.scm (fetch-sxml, sxml->package): Remove procedures.
(tlpdb-file, tlpdb, files->directories, tlpdb->package): New procedures.
(string->license): Add case for lpplgpl license combination.
(guix-name): Remove COMPONENT argument.
(texlive->guix-package): Use new procedures.
(texlive-recursive-import): New procedure.
* guix/scripts/import/texlive.scm (show-help, %options): Remove --archive
option.
(guix-import-texlive): Adjust call of texlive->guix-package.
* doc/guix.texi (Invoking guix import): Update documentation.
| Ricardo Wurmus |
2021-11-12 | import: utils: Add more licenses and extend their detection....* guix/import/utils.scm (spdx-string->license): Identify more
licenses (CC-BY-4.0, Freetype, HPND).
* guix/licenses.scm: Add a comment that mentions "MIT" so that people
who grep for MIT end up there.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Attila Lendvai |
2021-11-11 | import: print: Replace packages and origins in 'arguments'....* guix/import/print.scm (package->code)[variable-reference]
[object->code]: New procedures.
[package-lists->code]: Rewrite in terms of 'object->code'.
Pass the 'arguments' field through 'object->code'.
* tests/print.scm (pkg-with-arguments, pkg-with-arguments-source): New
variables.
("package with arguments"): New test.
| Ludovic Courtès |
2021-11-11 | import: print: Handle patches that are origins....* guix/import/print.scm (package->code)[source->code]: Handle patches
that are origins.
* tests/print.scm (pkg-with-origin-input): Add 'patches' field.
(pkg-with-origin-patch, pkg-with-origin-patch-source): New variables.
("package with origin patch"): New test.
| Ludovic Courtès |