Age | Commit message (Expand) | Author |
2022-11-15 | shell: Detect --symlink spec problems early....* guix/scripts/pack.scm (symlink-spec-option-parser): Remove extraneous
char-set. Raise an exception when the target is an absolute file name.
(guix-pack): Move with-error-handler earlier.
* guix/scripts/shell.scm (guix-shell): Likewise.
* guix/scripts/environment.scm (guix-environment): Wrap the whole
guix-environment* call with the with-error-handling handler.
* tests/guix-environment-container.sh: Add tests.
* tests/guix-pack.sh: Adjust symlink spec.
| Maxim Cournoyer |
2022-11-15 | guix: shell: Add '--symlink' option....* guix/scripts/pack.scm (%options): Extract symlink parsing logic to...
(symlink-spec-option-parser): ... here.
(self-contained-tarball/builder): Add a comment mentioning why a relative file
name is used for the link target.
* guix/scripts/environment.scm (show-environment-options-help): Document new
--symlink option.
(%default-options): Add default value for symlinks.
(%options): Register new symlink option.
(launch-environment/container): Add #:symlinks argument and extend doc, and
create symlinks using evaluate-populate-directive.
(guix-environment*): Pass symlinks arguments to launch-environment/container.
* doc/guix.texi (Invoking guix shell): Document it.
* tests/guix-shell.sh: Add a --symlink (negative) test.
* tests/guix-environment-container.sh: Add tests.
| Maxim Cournoyer |
2022-11-14 | self: Mark the generation (guix config) as non-declarative....Fixes <https://issues.guix.gnu.org/58927>.
Reported by Maxime Devos <maximedevos@telenet.be>
and Marius Bakke <marius@gnu.org>.
Starting from 076e825dc5d585943ce820a279fffe4af09757fb, "guix --version"
would print "0" as the version number, due to '%guix-version' being
inlined in (guix ui) when compiling '*core-modules*' in (guix self).
* guix/self.scm (make-config.scm): Pass #:declarative? #f.
| Ludovic Courtès |
2022-11-11 | gnu-maintenance: 'release-file?' excludes "valgrind-3.20.0.RC1.tar.bz2"....* guix/gnu-maintenance.scm (%alpha-tarball-rx): Add "." before
"(alpha|beta|...)".
* tests/gnu-maintenance.scm ("release-file?"): Add test for Valgrind.
| Ludovic Courtès |
2022-11-11 | gnu-maintenance: 'gnu' updater prefers tarball with same compression....Fixes <https://issues.guix.gnu.org/59168>.
Previously 'guix build make --with-latest=make' would pick ".tar.lz",
rather than "tar.gz", because "tar.lz" happened to come first in the
<upstream-source> 'urls' field.
* guix/gnu-maintenance.scm (latest-gnu-release)[archive-type]
[better-tarball?]: New variables.
Sort TARBALLS according to BETTER-TARBALL?.
| Ludovic Courtès |
2022-11-11 | upstream: Factorize 'package-archive-type'....* guix/upstream.scm (package-archive-type): New procedure.
(package-update/url-fetch): Use it.
| Ludovic Courtès |
2022-11-11 | grafts: Run with a UTF-8 locale....Fixes <https://issues.guix.gnu.org/55968>.
Reported by Maxime Devos <maximedevos@telenet.be>.
* guix/grafts.scm (%graft-with-utf8-locale?): New parameter.
(graft-derivation/shallow)[glibc-locales, set-utf8-locale]: New
variables.
[build]: Use 'set-utf8-locale'.
* tests/gexp.scm, tests/grafts.scm, tests/packages.scm: Set
'%graft-with-utf8-locale?' to #f.
| Ludovic Courtès |
2022-11-11 | build-system/dub: Avoid usage of (guix build syscalls)....* guix/build/dub-build-system.scm (configure): Use MKDTEMP instead of MKDTEMP!.
| Marius Bakke |
2022-11-11 | build-system/clojure: Avoid usage of (guix build sycalls)....* guix/build/clojure-build-system.scm (reset-class-timestamps): Use MKDTEMP
from Guile core instead of MKDTEMP!.
| Marius Bakke |
2022-11-11 | build-system/ant: Avoid usage of (guix build syscalls)....* guix/build/ant-build-system.scm (strip-jar-timestamps): Use MKDTEMP from
Guile core rather than MKDTEMP!.
* guix/build/java-utils.scm (install-jar-file-with-pom): Likewise.
| Marius Bakke |
2022-11-11 | import/cran: Add package name mapping for "booktabs"....* guix/import/cran.scm (transform-sysname): Add mapping for "booktabs".
| Ricardo Wurmus |
2022-11-11 | import/cran: Add more strings to the list of invalid packages....* guix/import/cran.scm (invalid-packages): Add "c++", "c++17", and
"posix.1-2001" to list of invalid packages.
| Ricardo Wurmus |
2022-11-10 | gnu: Add go-github-com-creack-pty....* gnu/packages/golang.scm (go-github-com-creack-pty): New variable.
* guix/build-system/go.scm (go-target): Add to exported variables.
Signed-off-by: Raghav Gururajan <rg@raghavgururajan.name>
| (unmatched-parenthesis |
2022-11-08 | build-system/gnu: Turn #:phases into a gexp when cross-compiling....Previously, we'd get this error:
$ guix build --target=aarch64-linux-gnu r-minimal -d --no-grafts
guix build: error: path ‘/gnu/store/[^-]+-glibc-[^-]+-static’ is not valid
This is because the sexp would be passed as an input of the surrounding
gexp in 'gnu-cross-build', and thus
"/gnu/store/[^-]+-glibc-[^-]+-static" would be interpreted as a source
file name, as in this example:
scheme@(guix gexp)> #~(foo #$(list 'whatever "/gnu/store/[^-]+-glibc-[^-]+-static"))
$11 = #<gexp (foo #<gexp-input (whatever "/gnu/store/[^-]+-glibc-[^-]+-static"):out>) 7f098badec30>
scheme@(guix gexp)> (gexp-inputs $11)
$12 = (#<gexp-input "/gnu/store/[^-]+-glibc-[^-]+-static":out>)
Fixes <https://issues.guix.gnu.org/59073>.
Reported by Christopher Baines <mail@cbaines.net>.
* guix/build-system/gnu.scm (gnu-cross-build): When PHASES is a pair,
pass it through 'sexp->gexp'.
| Ludovic Courtès |
2022-11-07 | build-system/linux-module: Add #:source-directory to linux-module-build-cross....Otherwise computing cross-compilation derivations for packages (e.g. xpadneo)
using the #:source-directory argument fails with this error:
Unrecognized keyword: #:source-directory
* guix/build-system/linux-module.scm (linux-module-build-cross): Support
#:source-directory.
| Christopher Baines |
2022-11-06 | guix gc: Add '--vacuum-database'....* guix/scripts/gc.scm (show-help, %options): Add '--vacuum-database'.
* guix/store/database.scm (vacuum-database): New procedure.
* doc/guix.texi (Invoking guix gc): Document the option.
| Efraim Flashner |
2022-11-06 | shell: Fix '--emulate-fhs' sometimes not including 'glibc-for-fhs'....Fixes <https://issues.guix.gnu.org/58861>.
Previously the order of the options giving to 'guix shell' could mean that the
'glibc-for-fhs' package included with the '--emulate-fhs' option would not
appear in the container. For example, using the development option with a
package using the 'gnu-build-system', e.g. 'guix shell -CFD hello', would
include the regular 'glibc' package. The option ordered mattered: 'guix shell
-CD hello -F' would include the expected 'glibc-for-fhs'. We fix this by
having 'glibc-for-fhs' added to the package list just before calling
'options-with-caching' so the option order given by the user does not matter.
* guix/scripts/shell.scm (%options): Move the '--emulate-fhs' (expression
. ...) component from here...
(parse-args): ... to here.
* tests/guix-environment-container.sh: Add a test to check that
'glibc-for-fhs' is in the container even when 'glibc' is included in the 'guix
shell' package list.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| John Kehayias |
2022-11-05 | guix: ui: Add default synopsis for “doc” output....* guix/ui.scm (package->recutils)[%default-output-synopses]: Add “doc”.
| Liliana Marie Prikler |
2022-11-05 | guix: ui: Improve missing output descriptions....The current reference to Intel's Appendix H appears too obscure and confusing.
* guix/ui.scm (package->recutils)[output->recutils]: Replace “see Appendix H”
with “[description missing]”.
| Liliana Marie Prikler |
2022-11-05 | guix: ui: Handle single outputs....The current code says "out" contains "everything else", even if there's no
other output to contain anything.
* guix/ui.scm (package->recutils)[default-output-synopses]: New variable.
[output->recutils]: Take default synopses as argument.
["outputs"]: Distinguish single and multiple outputs.
| Liliana Marie Prikler |
2022-11-03 | build-system/scons: Allow using a G-exp for scons-flags....* guix/build-system/scons.scm (scons-build): Only call sexp->gexp on
scons-flags when scons-flags is a pair.
Signed-off-by: Christopher Baines <mail@cbaines.net>
| Timotej Lazar |
2022-10-27 | profiles: info-dir-file: Remove install-info '--silent' option....Relates to <https://issues.guix.gnu.org/58821>.
Revert 4fef1e850e4872f2bc7c1f0a10cbac176b50895f, which silenced useful
information such as the following warning:
install-info: warning: no info dir entry in
`/gnu/store/...-rottlog-0.72.2/share/info/rottlog.info.gz'
Rationale: profile hooks output is now hidden by default, and can be made
visible via the --verbosity option.
| Maxim Cournoyer |
2022-10-27 | build-system/pyproject: Always run tests verbosely for supported backends....* guix/build-system/pyproject.scm (pyproject-build): Default to '() instead of
#false for TEST-FLAGS.
* guix/build/pyproject-build-system.scm (check): Unconditionally enable
verbose test flags.
* doc/guix.texi (Build Systems): Document this change.
* gnu/packages/fontutils.scm (python-glyphslib)[arguments]: Remove verbosity
from #:test-flags.
* gnu/packages/pdf.scm (python-pydyf, weasyprint)[arguments]: Likewise.
* gnu/packages/python-web.scm (python-openapi-spec-validator)[arguments]: Likewise.
* gnu/packages/python-xyz.scm (python-path, python-tempora)[arguments]: Likewise.
| Marius Bakke |
2022-10-27 | build-system/pyproject: Adjust indentation....* guix/build/pyproject-build-system.scm: Adjust indentation.
| Marius Bakke |
2022-10-27 | build-system: Add pyproject-build-system....This is an experimental build system based on python-build-system
that implements PEP 517-compliant builds.
* doc/guix.texi (Build Systems): Add pyproject-build-system section.
* doc/contributing.texi (Python Modules): Mention pyproject.toml and the
PYTHON-TOOLCHAIN package, as well as differences to python-build-system.
* guix/build-system/pyproject.scm,
guix/build/pyproject-build-system.scm,
gnu/packages/aux-files/python/sanity-check-next.py,
gnu/packages/python-commencement.scm: New files.
* Makefile.am (MODULES): Register the new build systems.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add python-commencement.scm.
* gnu/packages/python.scm (python-sans-pip, python-sans-pip-wrapper): New
variables.
Co-authored-by: Marius Bakke <marius@gnu.org>
| Lars-Dominik Braun |
2022-10-25 | Merge remote-tracking branch 'origin/master' into staging | Efraim Flashner |
2022-10-20 | build-system/cargo: Unpack crates less verbosely....* guix/build/cargo-build-system.scm (configure): Print the crate being
unpacked but don't print the contents of each crate.
| Efraim Flashner |
2022-10-22 | grafts: Rewrite using gexps....Fixes <https://issues.guix.gnu.org/58419>.
* guix/grafts.scm (graft-derivation/shallow): Rewrite using gexps and
remove 'store' parameter.
(graft-derivation/shallow*): New variable.
(cumulative-grafts): Use it instead of 'graft-derivation/shallow'.
| Ludovic Courtès |
2022-10-22 | Remove now unnecessary uses of (guix grafts)....These modules would use (guix grafts) just to access '%graft?' and
related bindings, which are now in (guix store).
* gnu/ci.scm,
guix/gexp.scm,
guix/lint.scm,
guix/scripts.scm,
guix/scripts/archive.scm,
guix/scripts/build.scm,
guix/scripts/challenge.scm,
guix/scripts/deploy.scm,
guix/scripts/environment.scm,
guix/scripts/home.scm,
guix/scripts/pack.scm,
guix/scripts/package.scm,
guix/scripts/pull.scm,
guix/scripts/size.scm,
guix/scripts/system.scm,
guix/scripts/weather.scm,
tests/builders.scm,
tests/channels.scm,
tests/cpan.scm,
tests/derivations.scm,
tests/gexp.scm,
tests/graph.scm,
tests/guix-daemon.sh,
tests/monads.scm,
tests/pack.scm,
tests/packages.scm,
tests/profiles.scm,
tests/system.scm: Remove #:use-module (guix grafts).
| Ludovic Courtès |
2022-10-22 | grafts: Move '%graft?' and related bindings to (guix store)....The goal is to allow (guix grafts) to use (guix gexp) without
introducing a cycle between these two modules.
* guix/grafts.scm (%graft?, call-without-grafting, without-grafting)
(set-grafting, grafting?): Move to...
* guix/store.scm: ... here.
| Ludovic Courtès |
2022-10-22 | build-system/python: Disable grafts....This is consistent with what 'gnu-build' does and makes sure origins
aren't getting lowered with #:graft? #t in one case and not in the
other.
This is a followup to df46bef48eaa43c502fa9193371692c039b460c1 and
dada5e86ed58c1869e30678c4d69582b1528ed6c.
* guix/build-system/python.scm (python-build): Pass #:graft? #f.
| Ludovic Courtès |
2022-10-20 | lint: source: Handle <svn-multi-reference> origins....This is a followup to 2383e145185efb2e6f99931707ec93d65d166432.
* guix/lint.scm (svn-reference-uri-with-userinfo): Accept REF being
an <svn-multi-reference> record.
(check-source): Handle 'svn-multi-reference?' origins like
'svn-reference?' origins.
| Ludovic Courtès |
2022-10-20 | syscalls: Define 'MS_NODIRATIME' and recognize "nodiratime"....Fixes <https://issues.guix.gnu.org/58663>.
This is a followup to b665dd4a9902b5722b9e06fd89c203e2221b19e0 and
dcb640f02b1f9590c3bd4301a22bf31bd60c56d4, allowing "nodiratime" to be
preserved for bind mounts.
* guix/build/syscalls.scm (MS_NODIRATIME): New variable.
(option-string->mount-flags): Recognize it.
(statfs-flags->mount-flags): Likewise.
| Ludovic Courtès |
2022-10-20 | ci: Add 'start-time' and 'stop-time' to <build> records....* guix/ci.scm (seconds->date): New procedure.
(<build>)[start-time, stop-time]: New fields.
(build-duration): New procedure.
| Ludovic Courtès |
2022-10-20 | environment: Update docstring of 'launch-environment'....This is a followup to 78d55b703d155d36520e1c93dc08a6502c56bd55.
Reported by Maxim Cournoyer.
* guix/scripts/environment.scm (launch-environment): Update docstring.
| Ludovic Courtès |
2022-10-18 | self: Switch to Guile-GnuTLS....* guix/self.scm (specification->package, compiled-guix): Replace
"gnutls" with "guile-gnutls".
| Ludovic Courtès |
2022-10-17 | lint: source: Add check for <svn-reference> over HTTP(S)....* guix/lint.scm (svn-reference-uri-with-userinfo): New procedure.
(check-source): Add 'svn-reference?' clause.
* tests/lint.scm ("source: svn-reference, HTTP 200")
("source: svn-reference, HTTP 404"): New tests.
| Ludovic Courtès |
2022-10-17 | lint: 'probe-uri' honors the 'userinfo' part of URIs....* guix/lint.scm (probe-uri): Honor the 'userinfo' part of URI.
| Ludovic Courtès |
2022-10-17 | svn-download: Add missing exports....* guix/svn-download.scm: Export more <svn-reference> and
<svn-multi-reference> accessors.
| Ludovic Courtès |
2022-10-17 | build-system/qt: Disable grafts....Fixes <https://issues.guix.gnu.org/58567>.
Reported by Marius Bakke <marius@gnu.org>.
This is a followup to df46bef48eaa43c502fa9193371692c039b460c1.
* guix/build-system/qt.scm (qt-build, qt-cross-build): Pass #:graft? #f
to 'gexp->derivation'.
| Ludovic Courtès |
2022-10-17 | svn-download: Pass multi-fetch parameters through environment variables....* guix/svn-download.scm (svn-multi-fetch)[build]: Check for environment
variables instead of splicing REF fields.
Pass #:script-name and #:env-vars to 'gexp->derivation'.
| Ludovic Courtès |
2022-10-17 | svn-download: Pass parameters through environment variables....This ensures a single "svn-download" script is created in the store for
all the origins that use 'svn-fetch'.
* guix/svn-download.scm (svn-fetch)[build]: Check for environment
variables instead of splicing REF fields.
Pass #:script-name and #:env-vars to 'gexp->derivation'.
| Ludovic Courtès |
2022-10-17 | read-print: Recognize 'define-record-type' and 'define-record-type*'....* guix/read-print.scm (%special-forms): Add 'define-record-type' and
'define-record-type*'.
| Ludovic Courtès |
2022-10-17 | channels: Interpret the 'commit' field of channel as a tag or commit....Previously the 'commit' field would always be interpreted as a commit
ID. This change adds flexibility, allowing for things like:
guix time-machine --commit=v1.2.0 -- describe
* guix/channels.scm (channel-reference): Use 'tag-or-commit' rather than 'commit'.
* guix/inferior.scm (channel-full-commit): Likewise.
* doc/guix.texi (Invoking guix pull): Document it.
(Invoking guix time-machine): Likewise.
| Ludovic Courtès |
2022-10-17 | git: 'update-cached-checkout' returns the commit ID when given a tag....Previously, starting with commit
efa578ecaece67366b4b0e2266de7c2faaa4ae54, 'update-cached-checkout' would
return the OID of the annotated tag the tag points to. With this change
it returns the OID of the commit object in all cases.
* guix/git.scm (resolve-reference): In the 'tag' case, call
'tag-target-id' and 'tag-lookup' when OID designates an annotated tag.
* tests/git.scm ("update-cached-checkout, tag"): New test.
| Ludovic Courtès |
2022-10-17 | guix: Fix typos....These typos were found and reported through weblate.
* gnu/packages/audio.scm (wildmidi)[description]: Fix typo.
* gnu/packages/games.scm (cgoban)[description]: Fix typo.
* gnu/services/version-control.scm (gitolite-service-type)[description]:
Fix typo.
* gnu/installer/newt/substitutes.scm (run-substitutes-page): Remove full
stop at end of title.
* gnu/machine/ssh.scm (machine-ssh-configuration-system): Move
punctuation outside of quotes.
* guix/scripts/home.scm (process-action): Remove trailing space before
newline.
* guix/scripts/system.scm (show-help): Fix typo.
* guix/scripts/environment.scm (with-store/maybe): Fix typo.
| Julien Lepiller |
2022-10-15 | git: 'update-cached-checkout' recognizes truncated commit IDs....Fixes a regression introduced in
602527ab9778165ca9a8f9cb62036038b5354688 that broke
'tests/guix-build-branch.sh'.
* guix/git.scm (resolve-reference): Revert change from
602527ab9778165ca9a8f9cb62036038b5354688.
| Ludovic Courtès |
2022-10-14 | guix: emacs-utils: Support disabling native-compilation....* guix/build/emacs-utils.scm (emacs-batch-disable-compilation): Add ‘native?’
argument and honour it.
| Liliana Marie Prikler |
2022-10-13 | build: emacs-utils: Fix `emacs-substitute-variables'....* guix/build/emacs-utils.scm (emacs-substitute-variables): Fix the regexp
matching variable name.
With end-of-word regexp ("\>"), the previous regexp may match the prefix of
a variable only, effectively deleting the rest of its name.
For example,
(emacs-substitute-variables "file.el"
("foo" ...))
could match (defvar foo-bar ...) and replace it with (defvar foo ...).
| Nicolas Goaziou |
2022-10-13 | shell: Handle '--emulate-fhs' in 'guix shell', not in 'guix environment'....Previously, using 'guix shell -CF coreutils' twice (such that the
profile is cache) would result in:
guix shell: error: '--profile' cannot be used with package options
This patch fixes it by moving argument handling to (guix scripts shell),
before 'options-with-caching' is called.
* guix/scripts/environment.scm (show-environment-options-help)
(%options): Remove '--emulate-fhs'.
(guix-environment*): Pass OPTS as-is to 'options/resolve-packages'.
* guix/scripts/shell.scm (show-help, %options): Add '--emulate-fhs'.
Add the (expression . ...) component to RESULT right from the argument
handler.
* tests/guix-environment-container.sh: Change '--emulate-fhs' tests to
use 'guix shell' instead of 'guix environment'.
| Ludovic Courtès |