Age | Commit message (Expand) | Author |
2021-01-07 | import: elpa: Updater gracefully handles missing upstream data....Fixes a crash with:
guix refresh emacs-exwm-no-x-toolkit
* guix/import/elpa.scm (latest-release): Return #f when
'elpa-package-info' returns #f.
| Ludovic Courtès |
2020-12-31 | import/utils: recursive-import: Fix typo....* guix/import/utils.scm (recursive-import): Fix typo.
| Ricardo Wurmus |
2020-12-31 | import/elpa: Abort early on failure to fetch meta data....* guix/import/elpa.scm (elpa->guix-package): Raise condition instead of
returning #FALSE.
* guix/scripts/import/elpa.scm (guix-import-elpa): Handle conditions when
importing recursively.
| Ricardo Wurmus |
2020-12-27 | import/utils: alist->package: Handle SPDX license names only as fallback....Fixes <https://bugs.gnu.org/45453>.
* guix/import/utils.scm (alist->package): Find plain license names in (guix
licenses) first, and only fall back to SPDX names on error.
* tests/import-utils.scm ("alist->package with SPDX license name 1/2",
"alist->package with SPDX license name 2/2"): New tests.
| Ricardo Wurmus |
2020-12-27 | import/print: package->code: Fix branching....* guix/import/print.scm (package->code)<license->code>: Branch on VAR, not on
the SYMBOL-APPEND return value.
| Ricardo Wurmus |
2020-12-23 | import: crate: Change updater name from "crates" to "crate"....* guix/import/crate.scm (%crate-updater): Change name to `crate', so it is on
par with the importer, and the manual.
| Nicolas Goaziou |
2020-12-22 | import/cran: Add input style "specification"....* guix/import/cran.scm (%input-style): New parameter.
(format-inputs): Use it.
* guix/scripts/import/cran.scm (guix-import-cran): Set the %input-style
parameter.
(%options): Add "--style" option.
* doc/guix.texi (Invoking guix import): Document it.
| Ricardo Wurmus |
2020-12-18 | import: elpa: Support working with MELPA....* guix/import/elpa.scm (default-files-spec): New variable.
(download-git-repository, package-name->melpa-recipe, file-hash, vcs-file?,
git-repository->origin, melpa-recipe->origin, melpa-recipe->maybe-arguments):
New procedures.
(elpa-package->sexp): Add optional repo argument, and use it to determine
whether to attempt to construct a source using the MELPA recipe.
(elpa->guix-package): Pass repo to elpa-package->sexp.
Signed-off-by: Christopher Baines <mail@cbaines.net>
| Carlo Zancanaro |
2020-12-15 | import: cran: Use CRAN’s canonical URL as home-page....* guix/import/cran.scm (%cran-canonical-url): New variable.
(description->package): Construct home-page using canonical URL.
Signed-off-by: Christopher Baines <mail@cbaines.net>
| Lars-Dominik Braun |
2020-12-12 | import/cran: Abort with error message when recursive import fails....Previously, after a failed recursive import "guix import" would signal
success.
* guix/import/cran.scm (cran->guix-package): Raise a condition when all
repositories have been exhausted.
* guix/scripts/import/cran.scm (guix-import-cran): Handle errors.
| Ricardo Wurmus |
2020-12-09 | import/utils: Fix conditional....This is a follow-up to commit 45584061a9ebe961e2be08ee94c3fe8ad74e2713.
* guix/import/utils.scm (package->definition): Use EQ? instead of = to compare
truthiness; use ELSE instead of (#T).
| Ricardo Wurmus |
2020-12-09 | import: cran: Update the Bioconductor version to 3.12....* guix/import/cran.scm (%bioconductor-version): Set to 3.12.
* guix/build-system/r.scm (bioconductor-uri): Update to 3.12.
| Roel Janssen |
2020-12-08 | import: opam: Adjust test to latest 'opam->guix-package' changes....This is a followup to a8dccd4bdc1e58219d4ba08fe1649bf0b8325f44, which
broke the test.
* guix/import/opam.scm (get-opam-repository): Prevent inlining.
* tests/opam.scm ("opam->guix-package"): Mock 'get-opam-repository'.
| Ludovic Courtès |
2020-12-08 | guix: opam: Add coq support in the importer....* guix/import/opam.scm (get-opam-repository): Add support for coq
repositories.
(ocaml-name->guix-name): Properly name coq package.
* doc/guix.texi (Invoking guix import): Document it.
| Julien Lepiller |
2020-12-08 | guix: opam: Add --repo argument to importer....* guix/scripts/import/opam.scm (guix-import-opam): Pass --repo argument
to recursive and non-recursive importers.
* guix/import/opam.scm (get-opam-repository): Select proper repository
location depending on a new repo argument.
(opam->guix-package): Use get-opam-repository in the procedure body.
| Julien Lepiller |
2020-12-08 | guix: opam: Pass default repository to recursive importer....* guix/import/opam.scm (opam->guix-package): Rename #:repository key
to #:repo.
(opam-recursive-import): Pass #:repo keyword.
* tests/opam.scm (opam->guix-package): Rename #:repository to #:repo.
| Julien Lepiller |
2020-12-08 | guix: opam: Filter implicit inputs....* guix/import/opam.scm (opam->guix-package, depends->inputs): Filter out
implicit inputs.
| Julien Lepiller |
2020-12-08 | guix: opam: Remove stray `pk'....* guix/import/opam.scm (opam->guix-package): Remove stray `pk'.
| Julien Lepiller |
2020-12-04 | import: crate: Skip tests when Guile-Semver is missing....* guix/import/crate.scm: Add comment for the 'module-autoload!' calls.
* tests/crate.scm (have-guile-semver?): New variable.
("crate->guix-package", "cargo-recursive-import")
("cargo-recursive-import-hoors-existing-packages"): Skip when
HAVE-GUILE-SEMVER? is false.
| Ludovic Courtès |
2020-12-04 | import/cran: Fix calls to CRAN->GUIX-PACKAGE....* guix/import/cran.scm (cran->guix-package, latest-bioconductor-release):
Invoke CRAN->GUIX-PACKAGE with #:REPO keyword argument.
| Ricardo Wurmus |
2020-12-02 | import: crate: Use existing package satisfying semver requirement....If a package satisfying the dependency's semver requirement already exists,
use it. Prior to this change the highest version matching the semver
requirement was used (and imported in case it was not defined as package
already).
When resolving a dependency (now done in `sort-map-dependencies`), first
search for a package matching the semver requirement and only if this fails
reach out for a crate.
* guix/import/crate.scm (crate->guix-package)[find-package-version]: New
function. [dependency-name+version]: New function.
[sort-map-dependencies]: Use it instead of lambda function.
* tests/crate.scm (test-doctool-crate, test-doctool-dependencies): New
variables.
("self-test …", "cargo-recursive-import-hoors-existing-packages"): New
tests.
| Hartmut Goebel |
2020-12-02 | import: crate: Trim version for names after left-most non-zero part....This complies to how versions are matched for caret requirements in crates:
An update is allowed if the new version number does not modify the left-most
non-zero digit in the major, minor, patch grouping.
* guix/import/crate.scm (version->semver-prefix): New function.
(make-crate-sexp)[format-inputs]: Use it.
(make-crate-sexp): Use it to pass shorter version to package->definition.
* guix/import/utils.scm (package->definition): Change optional parameter
APPEND-VERSION? into APPEND-VERSION?/STRING. If it is a string, append its
value to name.
* tests/crate.scm: Adjust tests accordingly.
| Hartmut Goebel |
2020-12-02 | import: utils: Trim patch version from names....This remove the patch version from generated package names. For example
'rust-my-crate-1.1.2' now becomes 'rust-my-crate-1.1'.
* guix/import/utils.scm (package->definition): Trim patch version from
generated package names.
* tests/crate.scm: (cargo>guix-package, cargo-recursive-import): Likewise.
| Hartmut Goebel |
2020-12-02 | import: crate: Parameterized importing of dev dependencies....The recursive crate importer will now include development dependencies only
for the top level package, but not for any of the recursively imported
packages. Also #:skip-build will be false for the top-most package.
* guix/import/crate.scm (make-crate-sexp): Add the key BUILD?.
(crate->guix-package): Add the key INCLUDE-DEV-DEPS?.
(crate-recursive-import): Likewise.
* guix/scripts/import/crate.scm (guix-import-crate): Likewise.
* tests/crate.scm (cargo-recursive-import): Likewise.
| Martin Becze |
2020-12-02 | import: crate: Memorize crate->guix-package....This adds memorization to procedures that involve network lookups.
'lookup-crate*' is used on every dependency of a package to get its version
list. It is also used to lookup a package's metadata. 'crate-recursive-import'
is also memorized since creating the same package twice will trigger a lookup
on its dependencies.
* guix/import/crate.scm (lookup-crate*): New procedure.
(crate->guix-package): Memorize package metadata lookups.
(crate-recursive-import): Memorize package creation.
| Martin Becze |
2020-12-02 | import: crate: Use guile-semver to resolve module versions....* guix/import/crate.scm: Add guile-semver as a soft dependency.
(make-crate-sexp): Don't allow other keys. Add '#:skip-build?' to build
system args. Pass a VERSION argument to 'cargo-inputs'.
(crate->guix-package): Use guile-semver to resolve the correct module
versions. Treat "build" dependencies as normal dependencies.
(crate-name->package-name): Reuse the procedure 'guix-name' instead of
duplicating its logic.
* guix/import/utils.scm (package-names->package-inputs): Implement
handling of (name version) pairs.
* guix/scripts/import/crate.scm (guix-import-crate): Use
crate-recursive-import instead of duplicate code.
* tests/crate.scm (recursive-import): Change test packages versions to be
distinguishable. Add version data to the test. Check created symbols, too.
Co-authored-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
| Martin Becze |
2020-12-02 | import: utils: 'recursive-import' accepts an optional version parameter....This adds a key VERSION to 'recursive-import' and moves the parameter REPO to
a key. This also changes all the places that rely on 'recursive-import'.
* guix/import/utils.scm (recursive-import): Add the VERSION key. Make REPO a
key.
(package->definition): Add optional 'append-version?'.
* guix/scripts/import/crate.scm (guix-import-crate): Add the VERSION key.
* guix/import/crate.scm (crate->guix-package): Add the VERSION key.
(crate-recursive-import): Pass VERSION to recursive-import, remove now
unnecessary code.
* guix/import/cran.scm (cran->guix-package, cran-recursive-import): Change the
REPO parameter to a key.
* guix/import/elpa.scm (elpa->guix-package, elpa-recursive-import): Likewise.
* guix/import/gem.scm (gem->guix-package, recursive-import): Likewise.
* guix/import/opam.scm (opam-recurive-import): Likewise.
* guix/import/pypi.scm (pypi-recursive-import): Likewise.
* guix/import/stackage.scm (stackage-recursive-import): Likewise.
* guix/scripts/import/cran.scm (guix-import-cran): Likewise.
* guix/scripts/import/elpa.scm (guix-import-elpa): Likewise.
* tests/elpa.scm (eval-test-with-elpa): Likewise.
* tests/import-utils.scm (recursive-import): Likewise.
Co-authored-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
| Martin Becze |
2020-11-21 | lint: Add 'check-haskell-stackage' checker....* guix/lint.scm (check-haskell-stackage): New procedure.
(%network-dependent-checkers): Add 'haskell-stackage' checker.
* guix/import/hackage.scm (%hackage-url): New variable.
(hackage-source-url, hackage-cabal-url): Use it in place of a
hard-coded string.
* guix/import/stackage.scm (%stackage-url): Make it a parameter.
(stackage-lts-info-fetch): Update accordingly.
* tests/lint.scm ("hackage-stackage"): New test.
| Timothy Sample |
2020-11-03 | guix import stackage: Default to LTS version that matches GHC....In particular, this means that 'guix lint' won't warn to update to
versions that won't necessarily fit our package set well.
* guix/import/stackage.scm (%stackage-url): Change to "https",
avoiding redirect log messages.
(%default-lts-version): New variable.
(stackage-lts-info-fetch, stackage->guix-package,
latest-lts-release): Use it.
(lts-info-ghc-version): Remove unused procedure.
Signed-off-by: Timothy Sample <samplet@ngyro.com>
| Robert Vollmert |
2020-10-19 | import: crate: make-crate-sexp: Fix missing home-page handling....* guix/import/crate.scm (make-crate-sexp): Replace 'null rather than '() with
the empty string for the home-page.
| Christopher Baines |
2020-10-19 | import: print: Fix deprecation warning for origin-sha256....* guix/import/print.scm (source->code source version): Replace
'origin-sha256' by 'origin-hash' and handle non-SHA256 hashes.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Helio Machado |
2020-10-17 | import: utils: Fix license name mismatches and define CUA-OPL-1.0....* guix/licenses.scm (cua-opl1.0): New variable.
* guix/import/utils.scm (spdx-string->license): Rename licenses to fit
the internal names and add a notice pointing to guix/licenses.scm.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Helio Machado |
2020-10-02 | import: opam: Report groups in syntax tree....* guix/import/opam.scm (group-pat): Report in syntax tree.
(dependency->input, dependency->native-input, dependency->name):
consider the case of a group.
| Julien Lepiller |
2020-10-01 | guix: opam: Fix syntax....* guix/import/opam.scm (STRCHR, comment, choice): Fix syntax.
(group-pat): Add syntax.
(opam->guix-package): Suppport "archive" keyword.
| Julien Lepiller |
2020-09-23 | import: Fix docstring typoes....* guix/import/cabal.scm (cabal-flags->alist): Fix typo in docstring.
* guix/import/stackage.scm (lts-info-ghc-version): Likewise.
* guix/scripts/import/hackage.scm (show-help): Likewise.
| Tobias Geerinckx-Rice |
2020-09-15 | import: cpan: Export cpan-release-module....* guix/import/cpan.scm: Fix typo.
| Tobias Geerinckx-Rice |
2020-09-08 | Remove (guix json) and require Guile-JSON 4.3.0+....This is a followup to 4071879c86d059ee087c8986915ea72b8c742b72.
* guix/json.scm: Remove.
* Makefile.am (MODULES): Adjust accordingly.
* m4/guix.m4 (GUIX_CHECK_GUILE_JSON): Check for 'define-json-mapping'.
* doc/guix.texi (Requirements): Require Guile-JSON 4.3.0+.
* guix/ci.scm, guix/cve.scm, guix/import/cpan.scm,
guix/import/crate.scm, guix/swh.scm: Remove (guix json) import.
* guix/import/gem.scm, guix/import/pypi.scm: Likewise, and import (json).
* guix/self.scm (specification->package): Switch to GUILE-JSON-4.
* guix/git-download.scm (git-fetch): Likewise.
| Ludovic Courtès |
2020-09-01 | import: launchpad: Recognize more URLs....* guix/import/launchpad.scm (updated-launchpad-url): Recognize more URLs.
| Arun Isaac |
2020-09-01 | import: launchpad: Recognize the .orig.tar.gz extension....* guix/import/launchpad.scm (find-extension): Recognize the .orig.tar.gz
extension.
| Arun Isaac |
2020-09-01 | import: launchpad: Handle list of source URLs correctly....* guix/import/launchpad.scm (updated-launchpad-url): Return updated URL when
package has a list of URLs, not the old URL.
| Arun Isaac |
2020-07-25 | utils: Remove compatibility re-export of 'memoize'....The 'memoize' binding was re-exported in 2016, commit
19e1d5f7f90194f1ac7e783b28a688ce1441786d, as a backwards-compatibility
measure that makes little sense now.
* guix/utils.scm: Don't re-export 'memoize'.
* guix/import/pypi.scm: Adjust imports.
* tests/pypi.scm: Remove duplicate (guix memoization) import.
| Ludovic Courtès |
2020-07-24 | import: github: Gracefully handle projects that have disappeared....Fixes <https://bugs.gnu.org/42509>.
Reported by Alexandru-Sergiu Marton <brown121407@posteo.ro>.
* guix/import/github.scm (fetch-releases-or-tags): Use 'http-fetch'
instead of 'json-fetch', and guard against 404 errors. Upon 404, emit a
warning and return the empty vector.
| Ludovic Courtès |
2020-07-05 | import: pypi: Handle 'null instead of #nil....* guix/import/pypi.scm (non-empty-string-or-false): guile-json now returns
'null instead of #nil for null JSON values. Handle it.
| Arun Isaac |
2020-07-03 | import: Do not assume that 'package-source' returns an origin....* guix/gnu-maintenance.scm (gnu-package?): Check whether
'package-source' returns an origin.
* guix/import/github.scm (updated-github-url): Likewise.
* guix/import/launchpad.scm (updated-launchpad-url): Likewise.
| Ludovic Courtès |
2020-07-03 | upstream: Define 'url-predicate' and use it....* guix/upstream.scm (url-predicate): New procedure.
(url-prefix-predicate): Define in terms of 'url-predicate'.
* guix/import/cpan.scm (cpan-package?): Use 'url-predicate'.
* guix/import/cran.scm (cran-package?)
(bioconductor-package?)
(bioconductor-data-package?)
(bioconductor-experiment-package?): Likewise.
* guix/import/crate.scm (crate-package?): Likewise.
* guix/import/elpa.scm (package-from-gnu.org?): Likewise.
* guix/import/hackage.scm (hackage-package?): Likewise.
* guix/import/pypi.scm (pypi-package?): Likewise.
* guix/import/gem.scm (gem-package?): Use 'url-prefix-predicate'.
| Ludovic Courtès |
2020-06-13 | guix: Update to Bioconductor 3.11....* guix/build-system/r.scm (bioconductor-uri): Use new URL.
* guix/import/cran.scm (%bioconductor-version): Update to 3.11.
| Ricardo Wurmus |
2020-06-09 | import: stackage: Fix typo....* guix/import/stackage.scm (latest-lts-release): Fix spelling of ‘if’.
| Tobias Geerinckx-Rice |
2020-06-09 | import: stackage: Fix typo....* guix/import/stackage.scm (latest-lts-release): Fix spelling of "included".
| Marius Bakke |
2020-05-25 | git: 'update-cached-checkout' returns the commit relation....* guix/git.scm (update-cached-checkout): Add #:starting-commit
parameter. Call 'commit-relation' when #:starting-commit is true.
Always return the relation or #f as the third value.
(latest-repository-commit): Adjust accordingly.
* guix/import/opam.scm (get-opam-repository): Likewise.
* tests/channels.scm ("latest-channel-instances includes channel dependencies")
("latest-channel-instances excludes duplicate channel dependencies"):
Update mock of 'update-cached-checkout' accordingly.
| Ludovic Courtès |
2020-05-22 | packages: Introduce <content-hash> and use it in <origin>....* guix/packages.scm (<content-hash>): New record type.
(define-content-hash-constructor, build-content-hash)
(content-hash): New macros.
(print-content-hash): New procedure.
(<origin>): Rename constructor to '%origin'.
[sha256]: Remove field.
[hash]: New field. Adjust users.
(origin-compatibility-helper, origin): New macros.
(origin-sha256): New deprecated procedure.
(origin->derivation): Adjust accordingly.
* tests/packages.scm ("package-source-derivation, origin, sha512"): New
test.
* guix/tests.scm: Hide (gcrypt hash) 'sha256' for proper syntax
matching.
* tests/challenge.scm: Add #:prefix for (gcrypt hash) and adjust users.
* tests/derivations.scm: Likewise.
* tests/store.scm: Likewise.
* tests/graph.scm ("bag DAG, including origins"): Provide 'sha256' field
with the right length.
* gnu/packages/aspell.scm (aspell-dictionary)
(aspell-dict-ca, aspell-dict-it): Use 'hash' and 'content-hash' for
proper syntax matching.
* gnu/packages/bash.scm (bash-patch): Rename 'sha256' to 'sha256-bv'.
* gnu/packages/bootstrap.scm (bootstrap-executable): Rename 'sha256' to 'bv'.
* gnu/packages/readline.scm (readline-patch): Likewise.
* gnu/packages/virtualization.scm (qemu-patch): Rename 'sha256' to
'sha256-bv'.
* guix/import/utils.scm: Hide (gcrypt hash) 'sha256'.
| Ludovic Courtès |