aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* gnu: linux-libre: Move documentation to a separate package.Maxim Cournoyer2022-12-06
| | | | | | | | | | | | | | | | * gnu/packages/linux.scm (linux-libre-5.15-source) (linux-libre-5.10-source): Do not apply linux-libre-infodocs-target.patch. (make-linux-libre): Remove BUILD-DOC? argument, and adjust patches conditional. (make-linux-libre*): Likewise. Remove build-doc? validation. [arguments]: Move documentation related phases to the new linux-libre-documentation. [native-inputs]: Move the documentation related native inputs to linux-libre-documentation. (linux-libre-documentation): New variable. * guix/build-system/linux-module.scm (make-linux-module-builder) [arguments]: Do not delete build-doc and install-doc phases, which no longer exist for linux-libre.
* gnu: Resolve derivation lint warnings.Christopher Baines2022-12-06
| | | | | | | | | | | | Computing derivations for these systems (i686-gnu and riscv32-linux) fails with an error like the following: could not find bootstrap binary 'tar' for system * gnu/packages/mes.scm (mescc-tools)[supported-systems]: Remove riscv32-linux. * guix/packages.scm (%hurd-system): Remove i686-gnu. Signed-off-by: Christopher Baines <mail@cbaines.net>
* Merge branch 'version-1.4.0'Ludovic Courtès2022-12-05
|\
| * modules: Recognize #:declarative?.Ludovic Courtès2022-12-02
| | | | | | | | | | | | | | | | | | | | | | This addition has become necessary since commit 54003af85cc5b689bd328b30617c93ed2f5fd647, which makes use of #:declarative? in modules produced by 'make-config.scm'. Reported by zimoun <zimon.toutoune@gmail.com>. * guix/modules.scm (extract-dependencies): Recognize #:declarative?, which was introduced in Guile 3.0.8.
| * syscalls: Adjust for lack of 'libutil.so' on glibc >= 2.34.Ludovic Courtès2022-12-02
| | | | | | | | | | | | | | | | | | | | This is a re-implementation of 3c8b6fd94ceb1e898216929e8768fb518dbf1de9 done in a way that works for both glibc >= 2.34 and earlier versions. * guix/build/syscalls.scm (syscall->procedure): When LIBRARY is true, fall back to global symbols if (dynamic-link library) fails. (cherry picked from commit 3f6c32a88fc7a4d707ae1ed8ef3f7bd995461aff)
* | substitute: Fix typo in 'open-connection-for-uri/cached' docstring.Ludovic Courtès2022-12-05
| | | | | | | | | | * guix/scripts/substitute.scm (open-connection-for-uri/cached): Fix docstring.
* | modules: Recognize #:declarative?.Ludovic Courtès2022-12-02
| | | | | | | | | | | | | | | | | | | | | | This addition has become necessary since commit 54003af85cc5b689bd328b30617c93ed2f5fd647, which makes use of #:declarative? in modules produced by 'make-config.scm'. Reported by zimoun <zimon.toutoune@gmail.com>. * guix/modules.scm (extract-dependencies): Recognize #:declarative?, which was introduced in Guile 3.0.8.
* | Revert "gnu: linux-libre: Move info manual to doc output."Maxim Cournoyer2022-12-01
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 748ec628826cea3faa3679074d87fae9bc810080. It broke the linux-libre-module-builder like so: builder for `/gnu/store/293jxydym9z7ck7afmrjqhiw3xpfs4i1-linux-libre-module-builder-6.0.10.drv' failed to produce output path `/gnu/store/ghmp1q5w6r1s9364rz53jd42152wgz2v-linux-libre-module-builder-6.0.10-doc' for reasons difficult to understand.
* | records: 'match-record' checks fields at macro-expansion time.Ludovic Courtès2022-12-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows 'match-record' to be more efficient (field offsets are computed at compilation time) and to report unknown fields at macro-expansion time. * guix/records.scm (map-fields): New macro. (define-record-type*)[rtd-identifier]: New procedure. Define TYPE as a macro and use a separate identifier for the RTD. (lookup-field, match-record-inner): New macros. (match-record): Rewrite in terms of 'match-error-inner'. * tests/records.scm ("match-record, simple") ("match-record, unknown field"): New tests. * gnu/services/cuirass.scm (cuirass-shepherd-service): Rename 'log-file' local variable to 'main-log-file'. * gnu/services/getmail.scm (serialize-getmail-configuration-file): Move after <getmail-configuration-file> definition.
* | build: kconfig: Add new module to modify defconfig files.Stefan2022-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/kconfig.scm: New file. * Makefile.am: Register it. * gnu/packages/bootloaders.scm (make-u-boot-package) (make-u-boot-sunxi64-package): Add DEFCONFIGS and CONFIGS arguments. Remove dead code. (u-boot-am335x-boneblack, u-boot-pinebook) (u-boot-novena,u-boot-rockpro64-rk3399): Simplify packages by using the new keyword arguments. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* | gnu: linux-libre: Move info manual to doc output.Maxim Cournoyer2022-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The kernel Linux is installed in the system profile, which means the manual was not easily discoverable. Move it to the "doc" output, so that users can install the Linux documentation explicitly in their user profile without pulling the whole Linux package. * gnu/packages/linux.scm (make-linux-libre*) [outputs]: Conditionally add a "doc" output. [phases] {install-doc}: Install the info manual to the doc output, an create a "linux" symlink to it for convenience. * guix/build-system/linux-module.scm (make-linux-module-builder): Delete the "doc" output, if present.
* | build: linux-module: Do not inherit the install-doc phase.Maxim Cournoyer2022-11-29
| | | | | | | | | | | | | | | | | | | | | | This is a followup commit to aaf1f18b8044142515ff868bcbd2b72b81ced3ec, itself a followup to 82c43b276dd5e60c81ad2c040a9d945befc4bc88 (gnu: linux-libre: Enable building info doc). * guix/build-system/linux-module.scm (make-linux-module-builder) [phases]: Also delete inherited 'install-doc phase. Reported-by: John Kehayias <john.kehayias@protonmail.com>
* | build: linux-module: Do not inherit the build-doc phase.Maxim Cournoyer2022-11-29
| | | | | | | | | | | | | | | | | | | | This is a followup commit to 82c43b276dd5e60c81ad2c040a9d945befc4bc88 (gnu: linux-libre: Enable building info doc). * guix/build-system/linux-module.scm (make-linux-module-builder) [phases]: Delete inherited 'build-doc phase. Reported-by: John Kehayias <john.kehayias@protonmail.com>
* | import/cran: Add package name mapping.Ricardo Wurmus2022-11-29
|/ | | | * guix/import/cran.scm (transform-sysname): Add mapping from sqlite3 to sqlite.
* licenses: Add EUPL 1.1.Antero Mejr2022-11-26
| | | | | | * guix/licenses.scm (eupl1.1): New variable. Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
* guix: Upgrade to Bioconductor 3.16.zimoun2022-11-24
| | | | | | * guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.16. * guix/import/cran.scm (%bioconductor-version): Same.
* offload: Increase default 'overload-threshold' value.Ludovic Courtès2022-11-23
| | | | | | | | | | | When offloading to a single machine, the previous default value would lead 'guix offload' to wait possibly for several minutes between subsequent builds until normalized load would finally go below 0.6. Increasing it mitigates that. * guix/scripts/offload.scm (<build-machine>)[overload-threshold]: Bump to 0.8. * doc/guix.texi (Daemon Offload Setup): Likewise.
* reconfigure: Use SRFI-71 instead of SRFI-11.Ludovic Courtès2022-11-22
| | | | | * guix/scripts/system/reconfigure.scm (upgrade-shepherd-services) (channel-relations): Use SRFI-71.
* offload: Gracefully handle 'guix repl' protocol errors.Ludovic Courtès2022-11-22
| | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/59447>. Reported by Mathieu Othacehe <othacehe@gnu.org>. Previously, if a machine had a buggy 'guix repl', 'guix offload' would crash with a backtrace instead of just ignoring the machine. * guix/scripts/offload.scm (remote-inferior*): New procedure. (check-machine-availability)[if-true]: New procedure. Use 'remote-inferior*' and 'if-true'. (check-machine-status): Use 'remote-inferior*'.
* inferior: Raise '&inferior-protocol-error' on invalid response.Ludovic Courtès2022-11-22
| | | | | * guix/inferior.scm (&inferior-protocol-error): New condition type. (read-repl-response): Add default 'match' clause and raise it.
* guix: modify-input: Recommend prepend instead of append.Vivien Kraus2022-11-21
| | | | | | | | * doc/guix.texi (Defining Package Variants): Document the "prepend" clause of modify-inputs first. * guix/packages.scm (modify-inputs): use "prepend" in the docstring. Signed-off-by: Christopher Baines <mail@cbaines.net>
* style: '-f' reads input files as UTF-8 by default.Ludovic Courtès2022-11-20
| | | | | | | Reported by mirai on #guix. * guix/scripts/style.scm (format-whole-file): Wrap body in 'with-fluids'. Pass #:guess-encoding to 'call-with-input-file'.
* file-systems: Always do recursive bind mounts.Ricardo Wurmus2022-11-20
| | | | | | | | Fixes <https://issues.guix.gnu.org/59185>. * guix/build/syscalls.scm (MS_REC): New variable. * gnu/build/file-systems.scm (mount-flags->bit-mask): Set MS_REC bit when bind-mounting.
* scripts: Use translations for guix.pot for service descriptions.pelzflorian (Florian Pelz)2022-11-20
| | | | | | | | | | | | | | | | | | Previously, service descriptions appeared in both guix.pot and packages.pot, but only translations of packages.pot were used. Now, translations are only done with guix.pot. This is better, because translators are more likely to translate guix.pot, and is also easier, because files in gnu/{home/,}services need to be in po/guix/POTFILES.in anyway and po/guix/Makevars already acts on the 'description' keyword because of lint checkers. * guix/scripts/home.scm (service-type-description-string): Use translations from guix.pot. * guix/scripts/system/search.scm (service-type-description-string) (service-type->recutils): Likewise. * po/packages/POTFILES.in: Move files in gnu/services to ... * po/guix/POTFILES.in: ... here.
* import: egg: Fix typo in docstring.jgart2022-11-20
| | | | | | * gnu/import/egg.scm (Commentary): Fix typo in Commentary docstring. Signed-off-by: Christopher Baines <mail@cbaines.net>
* scripts: describe: Add branch information to recutils output.jgart2022-11-19
| | | | | | * guix/scripts/describe.scm (channel->recutils): Add branch information. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* scripts: describe: Add branch information to json output.jgart2022-11-19
| | | | | | * guix/scripts/describe.scm (channel->json): Add branch information. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* pack: Remove use of GOOPS in 'deb' backend.Ludovic Courtès2022-11-19
| | | | | * guix/scripts/pack.scm (debian-archive)[build]: Remove use of (oop goops). Introduce 'keyword-ref' and use it instead of 'get-keyword'.
* import/utils: spdx-string->license: Support '+' operator.Philip McGrath2022-11-18
| | | | | | | | | | | | | | 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>
* import/utils: spdx-string->license: Match case-insensitively.Philip McGrath2022-11-18
| | | | | | | | | | | | 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>
* import/utils: spdx-string->license: Fix incorrect docstring.Philip McGrath2022-11-18
| | | | | | | | | 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>
* guix: Replace defective freemirror.org.Tobias Geerinckx-Rice2022-11-13
| | | | | | | | | | 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.
* import/cran: Add package mapping for freetype.Ricardo Wurmus2022-11-16
| | | | * guix/import/cran.scm (transform-sysname): Map "freetype2" to "freetype".
* shell: Detect --symlink spec problems early.Maxim Cournoyer2022-11-15
| | | | | | | | | | | * 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.
* guix: shell: Add '--symlink' option.Maxim Cournoyer2022-11-15
| | | | | | | | | | | | | | | | | * 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.
* self: Mark the generation (guix config) as non-declarative.Ludovic Courtès2022-11-14
| | | | | | | | | | | | 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.
* gnu-maintenance: 'release-file?' excludes "valgrind-3.20.0.RC1.tar.bz2".Ludovic Courtès2022-11-11
| | | | | | * guix/gnu-maintenance.scm (%alpha-tarball-rx): Add "." before "(alpha|beta|...)". * tests/gnu-maintenance.scm ("release-file?"): Add test for Valgrind.
* gnu-maintenance: 'gnu' updater prefers tarball with same compression.Ludovic Courtès2022-11-11
| | | | | | | | | | | | 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?.
* upstream: Factorize 'package-archive-type'.Ludovic Courtès2022-11-11
| | | | | * guix/upstream.scm (package-archive-type): New procedure. (package-update/url-fetch): Use it.
* grafts: Run with a UTF-8 locale.Ludovic Courtès2022-11-11
| | | | | | | | | | | | 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.
* build-system/dub: Avoid usage of (guix build syscalls).Marius Bakke2022-11-11
| | | | * guix/build/dub-build-system.scm (configure): Use MKDTEMP instead of MKDTEMP!.
* build-system/clojure: Avoid usage of (guix build sycalls).Marius Bakke2022-11-11
| | | | | * guix/build/clojure-build-system.scm (reset-class-timestamps): Use MKDTEMP from Guile core instead of MKDTEMP!.
* build-system/ant: Avoid usage of (guix build syscalls).Marius Bakke2022-11-11
| | | | | | * 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.
* import/cran: Add package name mapping for "booktabs".Ricardo Wurmus2022-11-11
| | | | * guix/import/cran.scm (transform-sysname): Add mapping for "booktabs".
* import/cran: Add more strings to the list of invalid packages.Ricardo Wurmus2022-11-11
| | | | | * guix/import/cran.scm (invalid-packages): Add "c++", "c++17", and "posix.1-2001" to list of invalid packages.
* gnu: Add go-github-com-creack-pty.(unmatched-parenthesis2022-11-10
| | | | | | | * 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>
* build-system/gnu: Turn #:phases into a gexp when cross-compiling.Ludovic Courtès2022-11-08
| | | | | | | | | | | | | | | | | | | | | | | 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'.
* build-system/linux-module: Add #:source-directory to linux-module-build-cross.Christopher Baines2022-11-07
| | | | | | | | | | 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.
* guix gc: Add '--vacuum-database'.Efraim Flashner2022-11-06
| | | | | | * 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.
* shell: Fix '--emulate-fhs' sometimes not including 'glibc-for-fhs'.John Kehayias2022-11-06
| | | | | | | | | | | | | | | | | | | | | | 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>