summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2022-11-19scripts: describe: Add branch information to recutils output....* guix/scripts/describe.scm (channel->recutils): Add branch information. Signed-off-by: Ludovic Courtès <ludo@gnu.org> jgart
2022-11-19scripts: describe: Add branch information to json output....* guix/scripts/describe.scm (channel->json): Add branch information. Signed-off-by: Ludovic Courtès <ludo@gnu.org> jgart
2022-11-19pack: Remove use of GOOPS in 'deb' backend....* guix/scripts/pack.scm (debian-archive)[build]: Remove use of (oop goops). Introduce 'keyword-ref' and use it instead of 'get-keyword'. Ludovic Courtès
2022-11-18import/utils: spdx-string->license: Support '+' operator....Previously, '+' was supported only via special cases for deprecated GNU identifiers like 'GPL-N+'. This commit adds support for other uses of '+', such as 'AFL-2.0+' and 'LPPL-1.0+'. Strictly speaking, '+' is an operator, not part of the SPDX license identifier, but it is useful to handle it here. * guix/import/utils.scm (spdx-string->license): Support '+' operator. * tests/import-utils.scm ("spdx-string->license"): Test it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Philip McGrath
2022-11-18import/utils: spdx-string->license: Match case-insensitively....SPDX specifies that license identifiers (unlike the 'AND', 'OR', and 'WITH' operators) are matched case-insensitively. * guix/import/utils.scm (%spdx-license-identifiers): New variable. (spdx-string->license): Search in '%spdx-license-identifiers' using 'string-ci=?'. * tests/import-utils.scm ("spdx-string->license"): New test. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Philip McGrath
2022-11-18import/utils: spdx-string->license: Fix incorrect docstring....The result of 'spdx-string->license' is a symbol, not a license object. * guix/import/utils.scm (spdx-string->license): Fix docstring. (license->symbol): Mention 'license:' prefix in docstring. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Philip McGrath
2022-11-13guix: Replace defective freemirror.org....This ‘mirror’ is particularly problematic because it's the only one checked by ‘guix refresh’. * guix/gnu-maintenance.scm (%savannah-base): Substitute freedif.org. * guix/download.scm (%mirrors): Likewise. Reported by sash-kan on #guix. Tobias Geerinckx-Rice
2022-11-16import/cran: Add package mapping for freetype....* guix/import/cran.scm (transform-sysname): Map "freetype2" to "freetype". Ricardo Wurmus
2022-11-15shell: 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-15guix: 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-14self: 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-11gnu-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-11gnu-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-11upstream: Factorize 'package-archive-type'....* guix/upstream.scm (package-archive-type): New procedure. (package-update/url-fetch): Use it. Ludovic Courtès
2022-11-11grafts: 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-11build-system/dub: Avoid usage of (guix build syscalls)....* guix/build/dub-build-system.scm (configure): Use MKDTEMP instead of MKDTEMP!. Marius Bakke
2022-11-11build-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-11build-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-11import/cran: Add package name mapping for "booktabs"....* guix/import/cran.scm (transform-sysname): Add mapping for "booktabs". Ricardo Wurmus
2022-11-11import/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-10gnu: 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-08build-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-07build-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-06guix 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-06shell: 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-05guix: ui: Add default synopsis for “doc” output....* guix/ui.scm (package->recutils)[%default-output-synopses]: Add “doc”. Liliana Marie Prikler
2022-11-05guix: 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-05guix: 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-03build-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-27profiles: 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-27build-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-27build-system/pyproject: Adjust indentation....* guix/build/pyproject-build-system.scm: Adjust indentation. Marius Bakke
2022-10-27build-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-25Merge remote-tracking branch 'origin/master' into stagingEfraim Flashner
2022-10-20build-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-22grafts: 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-22Remove 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-22grafts: 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-22build-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-20lint: 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-20syscalls: 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-20ci: 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-20environment: 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-18self: Switch to Guile-GnuTLS....* guix/self.scm (specification->package, compiled-guix): Replace "gnutls" with "guile-gnutls". Ludovic Courtès
2022-10-17lint: 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-17lint: 'probe-uri' honors the 'userinfo' part of URIs....* guix/lint.scm (probe-uri): Honor the 'userinfo' part of URI. Ludovic Courtès
2022-10-17svn-download: Add missing exports....* guix/svn-download.scm: Export more <svn-reference> and <svn-multi-reference> accessors. Ludovic Courtès
2022-10-17build-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-17svn-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-17svn-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