Age | Commit message (Expand) | Author |
2021-09-22 | download: Fall back to web.archive.org as a very last resort....Suggested by Florian Pelz <pelzflorian@pelzflorian.de>.
* guix/build/download.scm (internet-archive-uri): New procedure.
(url-fetch): Append it to the list of URIs after
CONTENT-ADDRESSED-URIS.
| Ludovic Courtès |
2021-09-21 | graph: Add '--max-depth'....* guix/graph.scm (export-graph): Add #:max-depth and honor it, adding
'depths' argument to 'loop'.
* guix/scripts/graph.scm (%options, show-help): Add '--max-depth'.
(%default-options): Add 'max-depth'.
(guix-graph): Pass #:max-depth to 'export-graph'.
* tests/graph.scm ("package DAG, limited depth"): New test.
* doc/guix.texi (Invoking guix graph): Document it.
| Ludovic Courtès |
2021-09-21 | base32: Work around (ash x N) miscompilation at '-O1' and below....Fixes <https://issues.guix.gnu.org/50696>.
Reported by Marius Bakke <marius@gnu.org>.
* guix/base32.scm (bit-field): Introduce 'minus-start' syntax and use it.
| Ludovic Courtès |
2021-09-18 | git: 'reference-available?' recognizes 'tag-or-commit'....* guix/git.scm (reference-available?): Handle 'tag-or-commit' with a
40-digit hex string.
| Ludovic Courtès |
2021-09-18 | git: 'update-cached-checkout' can fall back to SWH when cloning....Fixes <https://issues.guix.gnu.org/44187>.
Reported by zimoun <zimon.toutoune@gmail.com>.
* guix/git.scm (GITERR_HTTP): New variable.
(clone-from-swh, clone/swh-fallback): New procedures.
(update-cached-checkout): Use 'clone/swh-fallback' instead of 'clone*'.
| Ludovic Courtès |
2021-09-18 | swh: Support downloads of bare Git repositories....* guix/swh.scm (swh-download-archive): New procedure.
(swh-download-directory): Rewrite in terms of 'swh-download-archive'.
(swh-download): Add #:archive-type and honor it. Use
'swh-download-archive' instead of 'swh-download-directory'.
| Ludovic Courtès |
2021-09-18 | import: go: Match "go-import" meta tags anywhere....Some personal sites forget to put <meta name="go-import" ...> in a
<head> element, so look anywhere for them.
Partly fixes <https://issues.guix.gnu.org/50595>.
Reported by Stephen Paul Weber <singpolyma@singpolyma.net>.
* guix/import/go.scm (fetch-module-meta-data): Match "go-import" meta
tags anywhere in the page.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Sarah Morgensen |
2021-09-18 | import: go: Improve handling of modules in VCS subdirectories....Use the supplied module path (instead of the repository root) as the import
path for everything except source and homepage URLs. For modules not in the
root of a VCS repository, set #:unpack-path to the repository root by default.
Partly fixes <https://issues.guix.gnu.org/50595>.
Reported by Stephen Paul Weber <singpolyma@singpolyma.net>.
* guix/import/go.scm (go-module->guix-package): Use 'module-path'
instead of 'root-module-path' for #:import-path. Emit #:unpack-path
when #:import-path is not equal to 'root-module-path'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Sarah Morgensen |
2021-09-18 | import: minetest: Strip "v" prefixes from the version number....This fixes one of the issues noted at <https://issues.guix.gnu.org/50425#4>.
* guix/import/minetest.scm
(release-version): New procedure.
(%minetest->guix-package): Call new procedure instead of release-title.
* tests/minetest.scm
(make-package-sexp): Allow overriding the version number.
(make-releases-json): Allow overriding the release title.
("conventional version number")
("v-prefixed version number")
("dates as version number"): New tests.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Maxime Devos |
2021-09-18 | import: minetest: Delete duplicate dependencies....This fixes one of the issues noted in <https://issues.guix.gnu.org/50425#4>.
* guix/import/minetest.scm
(import-dependencies): Call 'delete-duplicates' on the resulting list.
* tests/minetest.scm
("minetest->guix-package, multiple dependencies implemented by one mod"):
New test.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Maxime Devos |
2021-09-18 | channels: 'channel-news-entry-commit' correctly resolves annotated tags....Previously, 'channel-news-entry-commit' would return the tag ID rather
than the commit ID when the news entry was referred to via an annotated
tag.
Reported by Xinglu Chen <public@yoctocell.xyz>.
* guix/channels.scm (resolve-channel-news-entry-tag): Check whether the
reference points to annotated tag; resolve it if it does.
* tests/channels.scm ("channel-news, annotated tag"): New test.
| Ludovic Courtès |
2021-09-18 | import: Add 'generic-git' updater....* guix/git.scm (ls-remote-refs): New procedure.
* tests/git.scm ("remote-refs" "remote-refs: only tags"): New tests.
* guix/import/git.scm: New file.
* doc/guix.texi (Invoking guix refresh): Document it.
* tests/import-git.scm: New test file.
* Makefile.am (MODULES, SCM_TESTS): Register the new files.
Co-authored-by: Sarah Morgensen <iskarian@mgsn.dev>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Xinglu Chen |
2021-09-18 | tests: git: Make 'tag' directive non-interactive....When running 'git tag TAGNAME', Git will open up the user's default text
editor to make them write a message. This is not desirable when running
tests.
* guix/tests/git.scm (populate-git-repository): Add a 'tag' directive
that takes an additional argument, and pass it to the '-m' flag.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Xinglu Chen |
2021-09-18 | tests: git: Don't read from the users global Git config file....* guix/tests/git (populate-git-repository): Set the GIT_CONFIG_GLOBAL
environment variable to the temporary Git config file.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Xinglu Chen |
2021-09-15 | store: 'map/accumulate-builds' processes the whole list in case of cutoff....Fixes <https://issues.guix.gnu.org/50264>.
Reported by Lars-Dominik Braun <lars@6xq.net>.
This fixes a regression introduced in
fa81971cbae85b39183ccf8f51e8d96ac88fb4ac whereby 'map/accumulate-builds'
would return REST (the tail of LST) without applying PROC on it. The
effect would be that 'lower-inputs' in (guix gexp) would dismiss those
elements, leading to derivations with correct builders but only a subset
of the inputs they should have had.
* guix/store.scm (map/accumulate-builds): Add #:cutoff parameter and
remove 'accumulation-cutoff' variable. Call PROC on the elements of
REST.
* tests/store.scm ("map/accumulate-builds cutoff"): New test.
| Ludovic Courtès |
2021-09-15 | import: cabal: Treat identifier names correctly....* guix/import/cabal.scm (is-id): Accept the location as an argument. Don’t
check if the identifier name is a reserved keyword unless it is the first word
on the line.
(lex-word): Adjust accordingly.
* tests/hackage ("hackage->guix-package tests flag executable"): Expect it to
pass.
Fixes: <https://issues.guix.gnu.org/25138>
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
| Xinglu Chen |
2021-09-14 | build-system: linux-module: Support source-directory....As with guile-build-system, the module to be build need not necessarily live
at the root of the build tree.
* guix/build/linux-module-build-system.scm (build, install): Add
source-directory argument and append it to "M" variable when invoking make.
* guix/build-system/linux-module.scm (linux-module-build): Add
source-directory argument.
| Liliana Marie Prikler |
2021-09-14 | scripts: import: Increase column width for pretty-printer....Previously, the max column width for the pretty-printer was 50, which caused
generated package definitions to include unnecessary newlines, e.g.,
(home-page
"https://gitlab.com/ttyperacer/terminal-typeracer")
instead of
(home-page "https://gitlab.com/ttyperacer/terminal-typeracer")
* guix/scripts/import.scm (guix-import): Set max expression width to 80 when
pretty-printing.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Xinglu Chen |
2021-09-14 | download: Disarchive mirrors can be URL-returning procedures....As discussed at <https://issues.guix.gnu.org/47336#16>.
* guix/build/download.scm (url-fetch)[disarchive-uris]: Accept MIRROR as
a procedure.
* guix/download.scm (%disarchive-mirrors): Add comment. This change can
only be made once a 'guix perform-download' that understands procedures
is widely deployed.
| Ludovic Courtès |
2021-09-14 | download: Remove obsolete workaround....* guix/download.scm (%content-addressed-mirrors): Use (guix base16)
unconditionally.
| Ludovic Courtès |
2021-09-13 | build/go: Support cross compiling....* guix/build-system/go.scm (go-target): New procedure.
(go-build): Add goarch, goos keywords. Adjust bag depending if doing a
native or cross compile.
(go-cross-build): New procedure.
* guix/build/go-build-system.scm (setup-go-environment): Accept goarch,
goos keywords. Set go environment variables based on target architecture.
* doc/guix.texi (Build Systems): Mention new go-build-system keywords.
| Efraim Flashner |
2021-09-13 | packages: Add 'package-definition-location'....Suggested by Maxime Devos <maximedevos@telenet.be>.
* guix/packages.scm (current-definition-location): New syntax parameter.
(define-public*): New macro.
(<package>)[definition-location]: New field.
(package-definition-location): New procedure.
* tests/packages.scm ("package-definition-location"): New test.
| Ludovic Courtès |
2021-09-13 | packages: Store 'location' field as a literal vector....This is slightly more efficient than storing an alist in terms of .go
file size (< 1% smaller) and load time.
* guix/packages.scm (current-location-vector): New macro.
(sanitize-location): New procedure.
(<package>)[location]: Change 'default' and add 'sanitize'.
(package-location): New procedure.
| Ludovic Courtès |
2021-09-10 | import: elpa: Don't hardcode default branch to 'master'....Otherwise, remotes without a branch named 'master' will cause an error when
importing.
* guix/import/elpa (git-repository->origin): Fallback to HEAD instead of the
'master' branch.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Xinglu Chen |
2021-09-10 | swh: 'swh-download' reports revision lookup failures....* guix/swh.scm (swh-download): Log lookup failures.
| Ludovic Courtès |
2021-09-10 | swh: Adjust to new vault API....Previously the path to query the vault or request cooking of a directory
was /api/1/vault/directory/ID. It is now deprecated in favor if
/api/1/vault/flat/SWHID. This commit adjusts code accordingly and also
prepares for 'git-bare' support.
* guix/swh.scm (vault-url): New procedure.
(query-vault, request-cooking): Make 'kind' optional, and add #:archive-type.
Use 'vault-url'.
(vault-fetch): Make 'kind' optional and add #:archive-type. Adjust
'query-vault' and 'request-cooking' calls accordingly.
| Ludovic Courtès |
2021-09-10 | lint: archival: Warn about non-origin sources....* guix/lint.scm (check-archival): Warn about non-origin sources.
| Ludovic Courtès |
2021-09-10 | base32: Provide an open-coded 'bit-field'....This improves the throughput of 'bytevector->base32-string' a bit.
* guix/base32.scm (bit-field): New macro.
| Ludovic Courtès |
2021-09-10 | base16: Reduce GC pressure in bytevector->base16-string....This makes bytevector->base16-string two times faster.
* guix/base16.scm (bytevector->base16-string): Use utf8->string
and iteration instead of string-concatenate and named let.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Maxime Devos |
2021-09-09 | swh: Adjust <vault-reply> to latest API changes....Fixes uses of 'swh-download' as reported at
<https://lists.gnu.org/archive/html/guix-devel/2021-09/msg00115.html>.
Reported by zimoun.
* guix/swh.scm (<vault-reply>)[object-id, object-type]: Remove. These
two fields are no longer provided in JSON replies.
[swhid]: New field.
| Ludovic Courtès |
2021-09-08 | transformations: Git tags and 'git describe' style IDs are used as version....* guix/transformations.scm (commit->version-string): New procedure. Use git
tags and 'git describe' style identifiers directly.
(transform-package-source-commit): Adjust accordingly.
* tests/transformations.scm
("options->transformation, with-commit, version transformation"): New test.
* doc/guix.texi (Package Transformation Options): Mention the 'git describe'
style.
| Marius Bakke |
2021-09-08 | git: 'resolve-reference' handles 'git describe'-style commit IDs....* guix/git.scm (resolve-reference): Rewrite tag-or-commit case to recognize
'git describe' style identifiers and resolve them as commits.
* doc/guix.texi (origin Reference): Mention it.
| Marius Bakke |
2021-09-08 | guix: dune-build-system: Put dune into a reproducible release mode....* guix/build/dune-build-system.scm (build,check): Replace the profile parameter
with the appropriate release flags.
* guix/build-system/dune.scm: Remove the profile parameter.
* doc/guix.texi: Remove paragraph on profile parameter.
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
| pukkamustard |
2021-09-07 | import: go: Fix import when import path redirects....* guix/import/go.scm (fetch-module-meta-data): If no meta entries
have a matching import prefix, return the first entry instead of #f.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Sarah Morgensen |
2021-09-07 | import: elpa: Support NonGNU ELPA....* guix/import/elpa.scm (elpa-url): Add NonGNU ELPA URL.
* doc/guix.texi (Invoking guix import): Document it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Xinglu Chen |
2021-09-07 | system: Add hint for action typo....* guix/scripts/system.scm (actions): New variable.
(define-command): Add hint for action typo.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2021-09-07 | import: Add hint for importer typo....* guix/scripts/import.scm (define-command): Add hint.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2021-09-06 | swh: Add 'lookup-snapshot-branch'....* guix/swh.scm (<snapshot>)[id]: New field.
(snapshot-url, lookup-snapshot-branch): New procedures.
| Ludovic Courtès |
2021-09-06 | swh: <revisions> accept null 'date' fields....* guix/swh.scm (maybe-null): New procedure.
(<revision>)[date]: Use it.
| Ludovic Courtès |
2021-09-06 | swh: Export <snapshot> accessors....* guix/swh.scm: Export <snapshot> accessors.
| Ludovic Courtès |
2021-09-03 | weather: Don't look for exported package replacements twice....* guix/scripts/weather.scm (all-packages): Delete duplicates, so that exported
replacements aren't included twice.
| Christopher Baines |
2021-09-03 | publish: Simplify 'narinfo-string'....This is a followup to 222f4661ed11b225f458cbe495a296f233129bec, which
was intended to improve performance of 'narinfo-string'.
* guix/scripts/publish.scm (narinfo-string): Remove 'catch' and
'read-derivation-from-file' call when rendering "Deriver".
| Ludovic Courtès |
2021-09-01 | import: go: Improve error handling....* guix/import/go.scm (go-module->guix-package*): Handle errors, remove
memoize.
(go-module-recursive-import): Remove 'guard', add memoize.
* guix/scripts/import/go.scm (guix-import-go): Adjust.
* tests/go.scm: Adjust.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2021-09-01 | import: utils: Skip not found packages....* guix/import/utils.scm (recursive-import): Skip packages when the
package returned by 'repo->guix-package' is false.
* tests/import-utils.scm: New tests.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Sarah Morgensen |
2021-09-01 | import: go: Return false for package not found....* guix/import/go.scm (go-module-recursive-import): Explicitly return
false when packages are not found.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Sarah Morgensen |
2021-08-31 | publish: Do not render the narinfo "System" field....This has been discussed here: https://issues.guix.gnu.org/50040.
* guix/scripts/publish.scm (narinfo-string): Do not render the "System" field
that is expensive to compute and currently unused.
| Mathieu Othacehe |
2021-08-30 | build-system: chicken: Add 'egg-uri' procedure....Once Chicken 6 gets released, we can just adjust the URL in the ‘egg-uri’
procedure, instead of having to change the URL for all the Chicken packages.
Making things a little more future-proof.
* guix/build-system/chicken.scm (egg-uri): New procedure.
* guix/import/egg.scm (egg-source-url): Adjust accordingly.
(egg->guix-package): Likewise.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Xinglu Chen |
2021-08-29 | gnu: bootloader: Support multiple targets....Fixes <https://issues.guix.gnu.org/40997>.
* gnu/bootloader.scm (<bootloader-configuration>): New 'targets' field.
(%bootloader-configuration-target): New procedure.
(bootloader-configuration-target): Add deprecation warning.
(bootloader-configuration-targets): New procedure.
* guix/scripts/system.scm (install): Access targets via
bootloader-configuration-targets.
(perform-action)[bootloader-target]: Remove unused argument and update doc.
Access targets via bootloader-configuration-targets and fix indentation.
(process-action): Access targets via bootloader-configuration-targets.
Do not provide the unused BOOTLOADER-TARGET argument when applying
`perform-action'.
* guix/scripts/system/reconfigure.scm (install-bootloader-program): Rename
DEVICE argument to DEVICES. Adjust doc and comment. Apply `installer' and
`disk-installer' for every DEVICES.
(install-bootloader): Access targets via bootloader-configuration-targets and
rename variable from DEVICE to DEVICES.
* gnu/tests/install.scm: Adjust accordingly.
* tests/guix-system.sh: Likewise.
* gnu/tests/reconfigure.scm (run-install-bootloader-test): Adjust the DEVICES
argument so that it is a list.
* doc/guix.texi: Update doc.
| Maxim Cournoyer |
2021-08-22 | ci: Add jobs history support....* guix/ci.scm (history?, history-evaluation, history-checkouts, history-jobs,
jobs-history): New procedures.
(<history>): New record.
| Mathieu Othacehe |
2021-08-21 | guix: opam: More flexibility in the importer....* guix/scripts/import/opam.scm: Pass all instances of --repo as a list
to the importer.
* guix/import/opam.scm (opam-fetch): Stop expecting "expanded"
repositories and call get-opam-repository instead to keep values
"symbolic" as long as possible and factorize.
(get-opam-repository): Use the same repository source as CLI opam does
(i.e. HTTP-served index.tar.gz instead of git repositories).
(find-latest-version): Be more flexible on the repositories structure
instead of expecting packages/PACKAGE-NAME/PACKAGE-NAME.VERSION/.
* tests/opam.scm: Update the call to opam->guix-package since repo is
now expected to be a list and remove the mocked get-opam-repository
deprecated by the support for local folders by the actual
implementation.
* doc/guix.texi: Document the new semantics and valid arguments for the
--repo option.
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
| Alice BRENON |