build-system: renpy: Migrate to (json).
* guix/build/renpy-build-system.scm: Use (json) rather than (guix build json).
(install, install-desktop-file): Replace ‘read-json’ with ‘json->scm’.
* guix/build-system/renpy.scm (default-guile-json): New variable.
(%renpy-build-system-modules): Adjust accordingly.
(renpy-build): Add guile-json argument and use it as extension.
Fixes guix/guix#2618.
build-system: elm: Migrate to (json).
Fixes guix/guix#2617.
* guix/build-system/elm.scm (%elm-build-system-modules)
(%elm-default-modules): Remove (guix build json).
(default-guile-json): New procedure.
(elm-build): Add guile-json extension.
* guix/build/elm-build-system.scm (stage, make-offline-registry-file)
(read-offline-registry, find-indirect-dependencies)
(patch-application-dependencies, configure): Refresh procedures
replacing (guix build json) procedures with (json) ones.
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
guix: diagnostics: Export 'info' as replacement.
This change suppresses warning output that interfere
and break nar signing procedures in guix resp. their
authenticationAgent communication.
* guix/diagnostics.scm
lint: Fix regressions in tests.
This fixes a regression introduced with commit 7752580a33 ("guix: lint: Check
end of sentences for a period.").
* guix/lint.scm (check-description-style): Do not emit warning when the
description is empty or ends with trailing whitespace.
* tests/lint.scm ("description: invalid Texinfo markup")
("description: may start with texinfo markup")
("description: may not contain trademark signs: ™")
("description: may not contain trademark signs: ®"): Add period.
Fixes: #4222
Change-Id: Ib10bcf324cb55b39a88c0c67875a40a59c1d4c18
graph: Add cyclonedx-json backend.
Validated with:
guix graph guile -b cyclonedx-json > /tmp/cyc.json && \
docker run -v /tmp/:/tmp/ cyclonedx/cyclonedx-cli validate --input-format json --input-file /tmp/cyc.json
* guix/graph.scm (emit-cyclonedx-prologue, emit-cyclonedx-epilogue,
emit-cyclonedx-node, emit-cyclonedx-edge): New procedures.
(%cyclonedx-backend): New variable.
(%graph-backends): Add %cyclonedx-backend.
Change-Id: Icc8c33cbc08da0137489d13bdad618ef55a14923
graph: graphml backend: emit label
* guix/graph.scm (emit-graphml-prologue): Declare label attribute.
(emit-graphml-node): Define label attribute.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
guix: asdf-build-system: Only copy .asd for the package's systems.
* guix/build/asdf-build-system.scm (copy-files-to-output, install):
New asd-systems input parameter integrated into build system.
If the source code includes .asd files that are not meant to be loaded
in a package, those .asd should not be installed. Since ASDF requires
.asd file names to be unique, extraneous .asd files can cause conflicts
if there is more than one .asd file with the same name that should not
be loaded. This can happen if a project has example or template systems
that are not meant to be loaded.
Change-Id: Ib5772feab9d482c6327c31ead21330f49b257273
Signed-off-by: jgart <jgart@dismail.de>
gnu: Rename luanti-game to luanti-minetest-game.
* gnu/packages/luanti.scm (minetest-game): Rename package to luanti-minetest-game.
(luanti): Update reference to luanti-minetest-game.
* guix/build-system/luanti.scm (standard-luanti-packages): Update input name to luanti-minetest-game.
Change-Id: If1ad595040c59f5cd3014db0039980e45f6a92fb
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
doc: Add mix-build-system.
* doc/guix.texi: Document mix-build-system and its most common keyword
arguments.
* gnu/build-system/mix.scm: Update links to documentation without hard
coding an Elixir version.
Change-Id: I68eb76efaaf5639f0eac2d9b674cdb05008e15a4
Reviewed-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
guix: lint: Check end of sentences for a period.
* guix/lint.scm (check-description-style): Check that sentences end with a period.
Change-Id: Ic10161f8093351dce440e19802a71f03bc849638
Signed-off-by: jgart <jgart@dismail.de>
inferior: Fix cached-channel-instance utime call and return value.
This fixes a bug introduced in 529dce6e98c22f00052df231414bca4f86e02094 where
the utime procedure would just get a procedure rather than the actual file.
* inferior.scm (cached-channel-instance):
Use (cached commit) let-bound to cached-directory instead as value
to utime and return-value.
Fixes: guix/guix#4042
Change-Id: Ibe7fb78fa68292d70e3bbe4ab9234757510cc539
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
publish: Explicitly update the atime for cache expiry.
Mounting file systems with ‘noatime’ is common. Thus, avoid relying on the
atime.
* guix/scripts/publish.scm (render-narinfo/cached): Add ‘utime’ call on cache
hit. Use ‘stat’ instead of ‘file-exists?’.
(bake-narinfo+nar): Update comment.
Change-Id: Id8c68d3b793922fdadca8cbd02b50368b418bb67
inferior: Caching works by checking the mtime, not the atime.
Mounting file systems with ‘noatime’ is common. Thus, avoid relying on the
atime.
* guix/inferior.scm (cached-channel-instance): Pass ‘stat:mtime’ to
‘file-expiration-time’. When ‘cached’ exists, call ‘utime’ to update its
mtime and atime.
Change-Id: Ib9bff45ed402260fdead3c23f09b431fa369e741
shell: Don’t rely on atime for caching.
Relying on atime was fine even on ‘noatime’ file systems because the atime was
explicitly updated. However, on file systems with atime enabled, cache items
were potentially retained for too long since scanning the cache directory
could update atimes.
* guix/scripts/shell.scm (options-with-caching): In ‘utime’ call, change both
the mtime and the atime.
(guix-shell)[entry-expiration]: Use ‘file-expiration-time’ with ‘stat:mtime’.
Change-Id: Ibe2aedae41a1018a95c2efe7f2dcf08bd1caae2a
utils: Define 'target-hurd32?' predicate.
* guix/utils.scm (target-hurd32?): New predicate.
Change-Id: I19e5b2d4e76b1c5b8c233c21397b48daf9619239
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
utils: Actually check the target in target-hurd64?.
* guix/utils.scm (target-hurd64?): Check the target argument.
Change-Id: Ic303e7d6e8284767c2a55411c68c043c3d18c04f
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
profiles: package->manifest-entry: Filter packages.
The new Rust packaging model moves sources to inputs and there'll be
possiblity to have sources in propagated-inputs as well.
* guix/profiles.scm (package->manifest-entry): Filter packages.
* tests/profiles.scm ("package->manifest-entry, origin in propagated inputs"):
New test.
Change-Id: Id5b9ceb693a35760289b04cd9b8f208b4cbf2e35
ui: Change bug report address to Codeberg.
`guix --help` used to print `Report bugs to: bug-guix@gnu.org.`
This commit changes the message to
`Report bugs to: <https://codeberg.org/guix/guix/issues/>`.
In accordance with the consensus decision
<https://codeberg.org/guix/guix-consensus-documents/src/branch/main/002-codeberg.md>
and just in time before we phase out bug-guix.
* configure.ac (AC_INIT): Set Codeberg as bug-report address, to be used
as %guix-bug-report-address in guix/config.scm.in.
* guix/self.scm (make-config.scm): Likewise, to be applied when
`guix pull` is run a second time.
* guix/ui.scm (show-bug-report-information): Display bug report address
in <> angle brackets.
Change-Id: Ie16dccbf8b9801e278d3aa0dd5eccaab737725bd
pull: Remove old code to migrate generations to /var/guix/profiles.
This code was added in 2018 (commit 795d430d90e41eb172315bfccf79c9f13fc0ebfa)
to move profile generations created before that from ~/.config/guix to
/var/guix/profiles. It has long become useless.
* guix/scripts/pull.scm (migrate-generations): Remove.
(ensure-default-profile): Remove call to ‘migrate-generations’.
Change-Id: I43d3860995be300a065814db6c0482514035bda9
guix: build-system: Add hare-build-system.
* guix/build-system/hare.scm: New file.
* guix/build/hare-build-system.scm: New file.
* Makefile.am (MODULES): Add above new files.
Change-Id: I5b760410f6cd2ede28b84e8d2db363ff968f16f6
Signed-off-by: jgart <jgart@dismail.de>