| Age | Commit message (Collapse) | Author |
|
See https://github.com/commercialhaskell/stackage-server/issues/353.
* guix/import/stackage.scm (%stackage-url): Adjust to new API URL.
Change-Id: I9bc1a10154340f89dcbacf715bd5ea5a9ef90b88
|
|
* guix/import/utils.scm (find-version): New procedure.
* guix/scripts/refresh.scm (<update-spec>) [partial?]: New field.
(update-spec-partial?): New accessor.
(update-spec): Add a PARTIAL? optional argument.
(update-specification->update-spec) <update-spec>: Call with its new PARTIAL?
optional argument when FALLBACK-VERSION is provided, i.e. when
'--target-version' was used.
(update-package): Remove the PACKAGE and VERSION positional arguments, and
replace them with UPDATE-SPEC. Update doc. Call `package-update' with its
new #:partial-version? argument.
(check-for-package-update) <package-latest-release>: Pass the new
#:partial-version? argument to it.
(guix-refresh) <update-package>: Adjust call accordingly.
(show-help): Udate doc.
* guix/upstream.scm (package-latest-release): Add #:partial-version? argument,
and apply it to the importer call.
(package-update): Add #:partial-version?> argument. Update doc. Pass it to
the `package-latest-release' call.
* guix/gnu-maintenance.scm (rewrite-url): Add #:partial-version? argument.
Update doc. Crawl URL for newer compatible versions when provided.
(import-html-release): Add #:partial-version? argument, and pass it to the
`rewrite-url' call. Use `find-version' to find the best version.
(import-release, import-ftp-release, import-gnu-release)
(import-release*): Add #:partial-version? argument and honor it.
(import-html-updatable-release): Add #:partial-version? argument, and pass it
to the `import-html-release' call.
* guix/import/gnome.scm (import-gnome-release)
<#:partial-version?>: Add new argument and honor it.
* guix/import/texlive.scm (latest-texlive-tag): Rename to...
(texlive-tags): ... this, and have it return all tags.
(texlive->guix-package): Adjust accordingly.
(latest-release): Add a #:partial-version? argument. Update doc.
* guix/import/stackage.scm (latest-lts-release): New #:partial-version?
argument.
* guix/import/pypi.scm (import-release): New #:partial-version? argument; pass
it to `pypi-package->upstream-source'.
* guix/import/opam.scm (latest-release): New #:partial-version? argument.
* guix/import/minetest.scm (latest-minetest-release): New #:partial-version?
argument.
(pypi-package->upstream-source): New #:partial-version? argument. Update doc.
* guix/import/launchpad.scm (latest-released-version): Rename to...
(release-versions): ... this, making it return all versions.
(import-release) <#:partial-version?>: New argument.
* guix/import/kde.scm (import-kde-release)
<#:partial-version?>: New argument. Update doc. Refactor to honor argument.
* guix/import/hexpm.scm (lookup-hexpm): Update doc.
(hexpm-latest-release): Rename to...
(hexpm-releases): ... this; return all release strings.
(hexpm->guix-package): Adjust accordingly.
(import-release): Add and honor a #:partial-version? argument. Update doc.
* guix/import/hackage.scm (import-release): New #:partial-version? argument.
* guix/import/cpan.scm (latest-release): New #:partial-version? argument.
* guix/import/crate.scm (max-crate-version-of-semver): Improve doc.
(import-release): Add a #:partial-version? argument and honor it.
* guix/import/egg.scm (find-latest-version): Rename to...
(get-versions): ... this, returning all versions.
(egg-metadata): Adjust accordingly.
(egg->guix-package): Likewise.
(import-release): Add a new #:partial-version? argument and honor it.
* guix/import/elpa.scm (latest-release): New #:partial-version? argument.
* guix/import/gem.scm (get-versions): New procedure.
(import-release): Add a new #:partial-version? argument and honor it.
* guix/import/git.scm (version-mapping): Update doc; streamline a bit.
(latest-tag): Rename to...
(get-tags): ... this, dropping the #:version keyword and returning the complete
tags alist. Update doc.
(latest-git-tag-version): Rename to...
(get-package-tags): ... this, returning the complete tags alist of the
package. Update doc.
(import-git-release): Add a new #:partial-version? argument and honor it.
Update doc.
* guix/import/github.scm (latest-released-version): Rename to...
(get-package-tags): ... this, returning all tags. Update doc.
(import-release): Add a new #:partial-version? argument and honor it.
* guix/import/cran.scm (latest-cran-release)
(latest-bioconductor-release): Add #:partial-version? argument.
* guix/import/composer.scm (latest-version): Delete procedure.
(composer-fetch): Add #:partial-version? keyword and honor it. Update doc.
(import-release): Likewise.
* guix/import/test.scm (import-release): Add #:partial-version? argument.
* tests/guix-refresh.sh: Add test.
* tests/gem.scm (test-foo-versions-json): New variable.
(package-latest-release): Mock new URL.
* tests/import-git.scm (latest-git-tag-version): New procedure.
* tests/gnu-maintenance.scm (libuv-dist-html)
(libuv-dist-1.46.0-html, libuv-dist-1.44.2-html)
(libuv-html-data): New variables.
(mock-http-fetch/cached): New procedure.
("rewrite-url, without to-version"): Rewrite using the above.
("rewrite-url, partial to-version"): New test.
* doc/guix.texi <"Invoking guix refresh">: Update doc.
Series-to: 75871@debbugs.gnu.org
Change-Id: I092a58b57ac42e54a2fa55e7761e8c6993af8ad4
|
|
Commit abc3eb33191 ("import: hackage: Support updating to a specific
version.") modified the signature of hackage-fetch; some code was still
calling `hackage-fetch' with a single argument, breaking the tests/lint.scm
test.
* guix/import/stackage.scm (latest-lts-release): Adjust calls to
`hackage-fetch'.
Change-Id: Ic83ebc12a7948023956fe30cfb8aa22b6d282fc6
|
|
* guix/import/stackage.scm (%default-lts-version): Upgrade to Stackage
20.26.
* gnu/packages/patches/ghc-aeson-encodeDouble.patch: New file.
* gnu/packages/patches/ghc-clock-realfrag.patch: New file.
* gnu/local.mk: Register them.
* gnu/packages/haskell-check.scm (ghc-tasty-hedgehog): Update.
(ghc-tasty-hspec): Update.
(ghc-tasty-expected-failure): Update.
(ghc-quickcheck-instances): Update.
(ghc-quickcheck-io): Update.
(ghc-hspec-contrib): Update.
* gnu/packages/haskell-crypto.scm (ghc-curve25519): Update.
(ghc-tls): Update.
* gnu/packages/haskell-web.scm (ghc-tagsoup): Update.
(ghc-http2): Update.
(ghc-wai-websockets): Update.
(ghc-aeson): Update.
(ghc-clientsession): Update.
(ghc-yesod-core): Update.
(ghc-yesod-persistent): Update.
(ghc-wai-cors): Update.
* gnu/packages/haskell-xyz.scm (ghc-abstract-par): Update.
(ghc-adjunctions): Update.
(ghc-aeson-diff): Update.
(ghc-base16-bytestring): Update.
(ghc-base-compat): Update.
(ghc-base-compat-batteries): Update.
(ghc-basement): Update.
(ghc-bencode): Update.
(ghc-bytestring-handle): Update.
(ghc-c2hs): Update.
(ghc-cassava-megaparsec): Update.
(ghc-cborg): Update.
(ghc-charset): Update.
(ghc-chasingbottoms): Update.
(ghc-clock): Update.
(ghc-cmark-gfm): Update.
(ghc-concurrent-extra): Update.
(ghc-concurrent-output): Update.
(ghc-conduit-extra): Update.
(ghc-constraints): Update.
(ghc-convertible): Update.
(ghc-csv): Update.
(ghc-data-accessor): Update.
(ghc-data-ordlist): Update.
(ghc-dense-linear-algebra): Update.
(ghc-diagrams-core): Update.
(ghc-diff): Update.
(ghc-dual-tree): Update.
(ghc-either): Update.
(ghc-errors): Update.
(ghc-esqueleto): Update.
(ghc-exactprint): Update.
(ghc-extensible-exceptions): Update.
(ghc-fail): Update.
(ghc-filepath-bytestring): Update.
(ghc-fingertree): Update.
(ghc-fmlist): Update.
(ghc-foldl): Update.
(ghc-free): Update.
(ghc-fsnotify): Update.
(ghc-generic-random): Update.
(ghc-genvalidity-property): Update.
(ghc-groups): Update.
(ghc-hackage-security): Update.
(ghc-half): Update.
(ghc-hashtables): Update.
(ghc-haskell-src): Update.
(ghc-haskell-src-exts-util): Update.
(ghc-hourglass): Update.
(ghc-hpack): Update.
(ghc-hslua): Update.
(ghc-hslua-module-system): Update.
(ghc-http-api-data): Update.
(ghc-ini): Update.
(ghc-inline-c): Update.
(ghc-inline-c-cpp): Update.
(ghc-interpolate): Update.
(ghc-intervals): Update.
(ghc-invariant): Update.
(ghc-io-streams): Update.
(ghc-ipynb): Update.
(ghc-kan-extensions): Update.
(ghc-lens): Update.
(ghc-libmpd): Update.
(ghc-libyaml): Update.
(ghc-lifted-async): Update.
(ghc-linear): Update.
(ghc-listlike): Update.
(ghc-logict): Update.
(ghc-lucid): Update.
(ghc-lzma-conduit): Update.
(ghc-magic): Update.
(ghc-microlens-ghc): Update.
(ghc-microlens-mtl): Update.
(ghc-microlens-platform): Update.
(ghc-missingh): Update.
(ghc-mmorph): Update.
(ghc-monad-control): Update.
(ghc-monad-logger): Update.
(ghc-monoid-extras): Update.
(ghc-murmur-hash): Update.
(ghc-ncurses): Update.
(ghc-network-info): Update.
(ghc-newtype-generics): Update.
(ghc-openglraw): Update.
(ghc-text-conversions): Update.
(ghc-text-icu): Update.
(ghc-text-short): Update.
(ghc-text-zipper): Update.
(ghc-parsers): Update.
(ghc-path): Update.
(ghc-peano): Update.
(ghc-persistent): Update.
(ghc-persistent-sqlite): Update.
(ghc-process-extras): Update.
(ghc-indexed-profunctors): Update.
(ghc-project-template): Update.
(ghc-psqueues): Update.
(ghc-random): Update.
(ghc-reducers): Update.
(ghc-refact): Update.
(ghc-regex-posix): Update.
(ghc-resourcet): Update.
(ghc-sdl): Update.
(ghc-sdl2-image): Update.
(ghc-sdl2-mixer): Update.
(ghc-sdl2-ttf): Update.
(ghc-sdl2-gfx): Update.
(ghc-semigroupoids): Update.
(ghc-semigroups): Update.
(ghc-shakespeare): Update.
(ghc-shelly): Update.
(ghc-simple-reflect): Update.
(ghc-size-based): Update.
(ghc-skylighting-format-latex): Update.
(ghc-skylighting-format-ansi): Update.
(ghc-skylighting): Update.
(ghc-sop-core): Update.
(ghc-split): Update.
(ghc-splitmix): Update.
(ghc-statevar): Update.
(ghc-statistics): Update.
(ghc-stm-conduit): Update.
(ghc-storable-complex): Update.
(ghc-storablevector): Update.
(ghc-svg-builder): Update.
(ghc-temporary-rc): Update.
(ghc-terminal-size): Update.
(ghc-text-manipulate): Update.
(ghc-th-abstraction): Update.
(ghc-th-expand-syns): Update.
(ghc-th-lift-instances): Update.
(ghc-th-orphans): Update.
(ghc-timezone-series): Update.
(ghc-timezone-olson): Update.
(ghc-tldr): Update.
(ghc-transformers-compat): Update.
(ghc-exception-transformers): Update.
(ghc-trifecta): Update.
(ghc-turtle): Update.
(ghc-unagi-chan): Update.
(ghc-unexceptionalio): Update.
(ghc-unicode-transforms): Update.
(ghc-unix-compat): Update.
(ghc-unix-time): Update.
(ghc-unliftio): Update.
(ghc-commutative-semigroups): Update.
(ghc-utf8-string): Update.
(ghc-void): Update.
(ghc-wl-pprint-text): Update.
(ghc-x11-xft): Update.
(ghc-xml): Update.
(ghc-xml-hamlet): Update.
(ghc-yaml): Update.
(ghc-zip-archive): Update.
(ghc-zlib): Update.
(ghc-zstd): Update.
(ghc-keys): Update.
(ghc-pointed): Update.
(ghc-lift-type): Update.
(ghc-unicode-collation): Update.
(ghc-citeproc): Update.
(ghc-commonmark): Update.
(ghc-commonmark-extensions): Update.
(ghc-genvalidity-hspec): Update.
(ghc-netlink): Update.
(ghc-doctest-driver-gen): Update.
(ghc-mysql): Update.
(ghc-persistent-qq): Update.
(ghc-persistent-mysql): Update.
(ghc-string-conversions): Update.
(ghc-postgresql-simple): Update.
(ghc-persistent-postgresql): Update.
(ghc-filtrable): Update.
(ghc-hsyaml-aeson): Update.
(ghc-singleton-bool): Update.
(ghc-git-lfs): Update.
(ghc-nothunks): Update.
(ghc-onetuple): Update.
(ghc-doctest-parallel): Update.
(ghc-ordered-containers): Update.
(ghc-hslua-marshalling): Update.
(ghc-gridtables): Update.
(ghc-should-not-typecheck): Update.
(ghc-servant-server): Update.
(ghc-recv): Update.
(ghc-glib): Update.
(ghc-pango): Update.
(ghc-monoidal-containers): Update.
(ghc-newtype): Update.
(ghc-random-shuffle): Update.
(ghc-ref-tf): Update.
* gnu/packages/irc.scm (glirc): Update.
* gnu/packages/purescript.scm (purescript): Update.
* gnu/packages/wm.scm (icewm): Update.
(ghc-xmobar): Update.
Change-Id: I26ef7c2ef06e3075eba3da21947f16708c437f98
|
|
* 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>
|
|
Fixes the "haskell-stackage" test in 'tests/lint.scm', which started
failing with e6223017d95bc615b2648f0798d9a3904d5b5f57 because the extra
HTTP GETs induced by the 'haskell-fetch' calls would fail.
* guix/import/stackage.scm (latest-lts-release): Call 'hackage-fetch'
and its continuation from within 'inputs', which is delayed. Pass it
NAME-VERSION instead of HACKAGE-NAME-VERSION.
|
|
Returning the expected list of inputs rather than changes relative to
the current package definition is less ambiguous and offers more
possibilities for further processing.
* guix/upstream.scm (<upstream-source>)[input-changes]: Remove.
[inputs]: New field.
(<upstream-input>): New record type.
* guix/upstream.scm (upstream-input-type-predicate)
(input-type-filter, upstream-source-regular-inputs)
(upstream-source-native-inputs, upstream-source-propagated-inputs): New
procedures.
(changed-inputs): Expect an <upstream-source> as its second argument.
Adjust accordingly.
* guix/import/pypi.scm (distribution-sha256): New procedure.
(maybe-inputs): Expect a list of <upstream-input>.
(compute-inputs): Rewrite to return a list of <upstream-input>.
(pypi-package-inputs, pypi-package->upstream-source): New procedures.
(make-pypi-sexp): Use it.
* guix/import/stackage.scm (latest-lts-release): Define 'cabal'.
Replace 'input-changes' field by 'inputs'.
* guix/scripts/refresh.scm (update-package): Use 'changed-inputs'
instead of 'upstream-source-input-changes'.
* tests/cran.scm ("description->package"): Adjust order of inputs.
* tests/pypi.scm (default-sha256, default-sha256/base32): New variables.
(foo-json): Add 'digests' entry.
("pypi->guix-package, no wheel"): Check HASH against DEFAULT-SHA256/BASE32.
("pypi->guix-package, wheels"): Likewise.
("pypi->guix-package, no usable requirement file."): Likewise.
("pypi->guix-package, package name contains \"-\" followed by digits"):
Likewise.
("package-latest-release"): New test.
* tests/upstream.scm (test-package-sexp): Remove.
("changed-inputs returns no changes"): Rewrite to use <upstream-source>.
(test-new-package-sexp): Remove.
("changed-inputs returns changes to plain input list"): Rewrite.
("changed-inputs returns changes to all plain input lists"): Likewise.
("changed-inputs returns changes to labelled input list")
("changed-inputs returns changes to all labelled input lists"): Remove.
* guix/import/cran.scm (maybe-inputs): Expect PACKAGE-INPUTS to be a
list of <upstream-input>.
(source-dir->dependencies): Return a list of <upstream-input>.
(vignette-builders): Likewise.
(uri-helper, cran-package-source-url)
(cran-package-propagated-inputs, cran-package-inputs): New procedures.
(description->package): Use them instead of local definitions.
(latest-cran-release): Replace 'input-changes' field by 'inputs'.
(latest-bioconductor-release): Likewise.
(format-inputs): Remove.
* guix/import/hackage.scm (cabal-package-inputs): New procedure.
(hackage-module->sexp): Use it.
[maybe-inputs]: Expect a list of <upstream-input>.
|
|
* guix/import/cpan.scm (latest-release): Use 'raise' instead of
'error'.
* guix/import/elpa.scm (latest-release): Likewise.
* guix/import/hackage.scm (latest-release): Likewise.
* guix/import/minetest.scm (latest-minetest-release): Likewise.
* guix/import/opam.scm (latest-release): Likewise.
* guix/import/stackage.scm (latest-lts-release): Likewise.
|
|
* guix/import/hackage.scm (guix-package->hackage-name): Removed.
(latest-release): Use package-upstream-name* instead.
* guix/import/stackage.scm (latest-lts-release): Ditto.
(stackage-lts-package?): Ditto.
|
|
* guix/import/stackage.scm (%default-lts-version): Update to 20.5.
|
|
* guix/import/stackage.scm (stackage-lts-package?): Wrap body in
'false-if-networking-error'.
|
|
Individual importer may have additional arguments.
* guix/import/utils.scm (recursive-import): Patch all keyword arguments
through to repo->guix-package.
* guix/import/cran.scm (cran->guix-package): Add #:allow-other-keys.
* guix/import/crate.scm (crate->guix-package): Ditto.
* guix/import/egg.scm (egg->guix-package): Ditto.
* guix/import/elm.scm (elm->guix-package): Ditto.
* guix/import/gem.scm (gem->guix-package): Ditto.
* guix/import/gnu.scm (gnu->guix-package): Ditto.
* guix/import/go.scm (go-module->guix-package): Ditto.
(go-module-recursive-import): Ditto.
* guix/import/hackage.scm (hackage->guix-package): Ditto.
(hackage-recursive-import): Ditto.
* guix/import/hexpm.scm (hexpm->guix-package): Ditto.
* guix/import/minetest.scm (minetest->guix-package): Ditto.
(minetest-recursive-import): Ditto.
* guix/import/opam.scm (opam->guix-package): Ditto.
* guix/import/pypi.scm (pypi->guix-package): Ditto.
* guix/import/stackage.scm (stackage->guix-package): Ditto.
(stackage-recursive-import): Ditto.
* guix/import/texlive.scm (texlive->guix-package): Ditto.
|
|
These importer don't support importing a specific version, thus the updater
does neither. Issue an error message in case version is given.
* guix/import/cpan.scm (latest-release),
guix/import/elpa.scm (latest-release),
guix/import/hackage.scm (latest-release),
guix/import/minetest.scm (latest-minetest-release),
guix/import/opam.scm (latest-release): Add #:version argument,
issue error if version is given.
* guix/import/cran.scm (latest-cran-release): Same.
(latest-bioconductor-release) Same. <version>: rename to <latest-version>.
* guix/import/stackage.scm (latest-lts-release): For each generated updater,
add #:version argument and issue error if version is given.
|
|
The next commits will make the functions, which are currently importing the
latest version of a package, change into importing the latest or a given
version of the package (for those updaters supporting specifying a version).
Thus the name ‘latest‘ is no longer appropriate.
* guix/upstream.scm (upstream-updater) Rename field [latest] to
[import]. (lookup-updater, package-latest-release) Adjust fieldname
accordingly.
* guix/gnu-maintenance.scm (%gnu-updater, %gnu-ftp-updater,
%savannah-updater, %sourceforge-updater, %xorg-updater,
%kernel.org-updater, %generic-html-updater),
guix/import/cpan.scm (%cpan-updater),
guix/import/cran.scm (%cran-updater, %bioconductor-updater),
guix/import/crate.scm (%crate-updater),
guix/import/egg.scm (%egg-updater),
guix/import/elpa.scm (%elpa-updater),
guix/import/gem.scm (%gem-updater),
guix/import/git.scm (%generic-git-updater),
guix/import/github.scm (%github-updater),
guix/import/gnome.scm (%gnome-updater),
guix/import/hackage.scm (%hackage-updater),
guix/import/hexpm.scm (%hexpm-updater),
guix/import/kde.scm (%kde-updater),
guix/import/launchpad.scm (%launchpad-updater),
guix/import/minetest.scm (%minetest-updater),
guix/import/opam.scm (%opam-updater),
guix/import/pypi.scm (%pypi-updater),
guix/import/stackage.scm (%stackage-updater),
tests/import-github.scm (found-sexp)
tests/transformations.scm ("options->transformation, with-latest"):
Adjust fieldname accordingly.
|
|
* guix/import/stackage.scm (%default-lts-version): Update to 18.14.
|
|
* guix/import/stackage.scm (latest-lts-release): Rename package to pkg
to avoid name conflict and add input-changes.
|
|
* guix/import/stackage.scm (%default-lts-version): Update to 18.10.
|
|
* guix/import/stackage.scm (leave-with-message): Remove.
(stackage-lts-info-fetch): Use 'raise' and 'formatted-message'.
(stackage->guix-package): Likewise.
(latest-lts-release): Use 'warning' instead of 'format'.
|
|
* guix/import/stackage.scm (<stackage-lts>, <snapshot>)
(<stackage-package>): New record types and JSON mappings.
(lts-info-packages, stackage-package-name)
(stackage-package-version): Remove.
(lts-package-version): Rename 'pkgs-info' to 'packages'; assume
'packages' is a list of <stackage-package>.
(stackage->guix-package): Use 'stackage-lts-packages' instead of
'lts-info-packages'. Rename 'packages-info' to 'packages'.
(latest-lts-release): Likewise.
(stackage-package?): Rename to...
(stackage-lts-package?): ... this. Adjust to new API.
(%stackage-updater)[pred]: Update accordingly.
* tests/lint.scm ("haskell-stackage"): Add "snapshot" entry in JSON
snippet.
|
|
Previously, the ‘hackage-package?’ predicate was used which meant that
the updater would try to update non-Stackage packages, and lead to messages
like these:
$ guix refresh -t stackage
warning: failed to parse https://hackage.haskell.org/package/hurl/hurl.cabal
warning: failed to parse https://hackage.haskell.org/package/idris/idris.cabal
Since ‘hurl’ and ‘idris’ aren’t available on the current Stackage LTS release,
they should be filtered out before the Stackage updater even tries to update
them.
* stackage.scm (stackage-package?): New procedure.
(%stackage-updater): Use it.
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
|
|
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>
|
|
* 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.
|
|
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>
|
|
* 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.
|
|
* guix/import/stackage.scm (latest-lts-release): Fix spelling of ‘if’.
|
|
* guix/import/stackage.scm (latest-lts-release): Fix spelling of "included".
|
|
* guix/import/stackage: Fix spelling of "version".
|
|
Guile-JSON 3.x is incompatible with Guile-JSON 1.x, which we relied on
until now: it maps JSON dictionaries to alists (instead of hash tables),
and JSON arrays to vectors (instead of lists). This commit is about
adjusting all the existing code to this new mapping.
* m4/guix.m4 (GUIX_CHECK_GUILE_JSON): New macro.
* configure.ac: Use it.
* doc/guix.texi (Requirements): Mention the Guile-JSON version.
* guix/git-download.scm (git-fetch)[guile-json]: Use GUILE-JSON-3.
* guix/import/cpan.scm (string->license): Expect vectors instead of
lists.
(module->dist-name): Use 'json-fetch' instead of 'json-fetch-alist'.
(cpan-fetch): Likewise.
* guix/import/crate.scm (crate-fetch): Likewise, and call 'vector->list'
for DEPS.
* guix/import/gem.scm (rubygems-fetch): Likewise.
* guix/import/json.scm (json-fetch-alist): Remove.
* guix/import/pypi.scm (pypi-fetch): Use 'json-fetch' instead of
'json-fetch-alist'.
(latest-source-release, latest-wheel-release): Call 'vector->list' on
RELEASES.
* guix/import/stackage.scm (stackage-lts-info-fetch): Use 'json-fetch'
instead of 'json-fetch-alist'.
(lts-package-version): Use 'vector->list'.
* guix/import/utils.scm (hash-table->alist): Remove.
(alist->package): Pass 'vector->list' on the inputs fields, and default
to the empty vector.
* guix/scripts/import/json.scm (guix-import-json): Remove call to
'hash-table->alist'.
* guix/swh.scm (define-json-reader): Expect pair? or null? instead of
hash-table?.
[extract-field]: Use 'assoc-ref' instead of 'hash-ref'.
(json->branches): Use 'map' instead of 'hash-map->list'.
(json->checksums): Likewise.
(json->directory-entries, origin-visits): Call 'vector->list' on the
result of 'json->scm'.
* tests/import-utils.scm ("alist->package with dependencies"): New test.
* gnu/installer.scm (build-compiled-file)[builder]: Use GUILE-JSON-3.
* gnu/installer.scm (installer-program)[installer-builder]: Likewise.
* gnu/installer/locale.scm (iso639->iso639-languages): Use 'assoc-ref'
instead of 'hash-ref', and pass vectors through 'vector->list'.
(iso3166->iso3166-territories): Likewise.
* gnu/system/vm.scm (system-docker-image)[build]: Use GUILE-JSON-3.
* guix/docker.scm (manifest, config): Adjust for Guile-JSON 3.
* guix/scripts/pack.scm (docker-image)[build]: Use GUILE-JSON-3.
* guix/import/github.scm (fetch-releases-or-tags): Update docstring.
(latest-released-version): Use 'assoc-ref' instead of 'hash-ref'. Pass
the result of 'fetch-releases-or-tags' to 'vector->list'.
* guix/import/launchpad.scm (latest-released-version): Likewise.
|
|
* guix/import/stackage.scm (lts-info-ghc-version, lst-info-packages): Use
assoc-ref for accessing parsed JSON.
|
|
* guix/import/hackage.scm (hackage-name->package-name): Export procedure.
* guix/import/stackage.scm (lts-info-packages-lts-info): Fix match expression.
(stackage-recursive-import): New procedure.
(stackage->guix-package): Memoize results.
* guix/scripts/import/stackage.scm (show-help, %options,
guix-import-stackage): Support recursive importing.
* doc/guix.texi (Invoking guix import): Document option.
|
|
* guix/import/json.scm (json-fetch): Return a list or hash table.
(json-fetch-alist): New procedure.
* guix/import/github.scm (json-fetch*): Remove.
(latest-released-version): Use json-fetch.
* guix/import/cpan.scm (module->dist-name): Use json-fetch-alist.
(cpan-fetch): Likewise.
* guix/import/crate.scm (crate-fetch): Likewise.
* guix/import/gem.scm (rubygems-fetch): Likewise.
* guix/import/pypi.scm (pypi-fetch): Likewise.
* guix/import/stackage.scm (stackage-lts-info-fetch): Likewise.
|
|
* guix/import/stackage.scm (stackage->guix-package, stackage-lts-info-fetch):
Raise 'message' condition instead of using 'leave' from (guix ui).
* guix/scripts/import/stackage.scm (guix-import-stackage): Handle conditions.
|
|
* guix/import/stackage.scm: New file.
* guix/scripts/import/stackage.scm: New file.
* Makefile.am (MODULES): Add new files.
* guix/scripts/import.scm (importers): Add "stackage".
* guix/scripts/refresh.scm (%updaters): Add %stackage-updater.
* doc/guix.texi (Invoking 'guix import'): Document the importer.
(Invoking 'guix refresh'): Add stackage to option --type valid values.
* guix/import/hackage.scm (guix-package->hackage-name, hackage-fetch,
hackage-source-url, hackage-cabal-url, hackage-package?): Export them.
|