summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* Merge branch 'master' into gnome-teamLiliana Marie Prikler2023-11-19
|\ | | | | | | Change-Id: I62da840b7600f2d3d8541e666d09e2f2a1b7d8c4
| * build-system/guile: Add target-guile-scm+go procedure.Tomas Volf2023-11-15
| | | | | | | | | | | | | | | | | | | | | | The paths to .scm and .go files can be constructed given a guile version and a base directory. However it is few lines of code that needs to be copy&pasted. This new procedure returns both of them reducing the maintenance cost. * guix/build/guile-build-system.scm (target-guile-scm+go): New procedure. Change-Id: I58615f2cfe0ec1e58d3fbb47b738ed5dce1bb252 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * locate: Accept ‘--clear’ without additional arguments.Ludovic Courtès2023-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a bug whereby ‘guix locate --clear’ would end with the “no files to search for” error. Fixes <https://issues.guix.gnu.org/66799>. * guix/scripts/locate.scm (guix-locate): Do not emit “no files to search for” error when 'clear? is set in OPTS. * tests/guix-locate.sh: Test it. Reported-by: Maciej Kalandyk <m.kalandyk@outlook.com> Change-Id: Ib8fa125c18481d7f5408bd89df9503713527641d
| * guix: Properly compute progress bar width.Julien Lepiller2023-11-11
| | | | | | | | | | | | | | | | | | * guix/progress.scm (progress-reporter/bar): Take font width into account to compute progress bar width. * guix/git.scm (show-progress): Take font width into account to compute progress bar width. Change-Id: I946e447c1ea7c6eb4ff805400280f39e8f1a7c02
| * guix: syscalls: Add terminal-string-width.Julien Lepiller2023-11-11
| | | | | | | | | | | | | | * guix/build/syscalls.scm (terminal-width): New procedure. * tests/syscalls.scm: Add tests. Change-Id: I6c2caa9fbaffb1e8f4b8933103399be970d5a8f3
| * build: minetest-build-system: Match name more strictly.Tristan Cottam2023-11-11
| | | | | | | | | | | | | | | | | | | | | | | | Some Minetest mods, such as the hitherto unpackaged minetest-ambience, have trailing garbage space (e.g. carriage returns) in their name line, that would otherwise end up as part of the mod's directory name. * guix/build/minetest-build-system.scm (name-regexp): Only match graphical characters in the name sub-match. Change-Id: I95f4c201724991a10efba5c859bfef99779ea495 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
| * guix: ant: Optionally build with java modules.Julien Lepiller2023-11-09
| | | | | | | | | | | | | | | | | | | | | | | | Modules were introduced in Java 9 and are not supported by the default icedtea compiler, so this feature is disabled by default. * guix/build-system/ant.scm (ant-build): Add use-java-modules? parameter. * guix/build/ant-build-system.scm (default-build.xml) (configure): Use it. Change-Id: I3b99238e4cd262332fa5c818be1af5477c7374fd
| * build-system: Add vim-build-system.Jonathan Scoresby2023-11-08
| | | | | | | | | | | | | | | | | | | | * guix/build-system/vim.scm, * guix/build/vim-build-system.scm: New modules. * Makefile.am (MODULES): Register new files. * doc/guix.texi: Document it. Co-authored-by: Efraim Flashner <efraim@flashner.co.il> Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
| * git-download: Add support for Git Large File Storage (LFS).Maxim Cournoyer2023-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/git.scm (git-fetch) [lfs?]: New argument, doc and setup code. (git-fetch-with-fallback) [lfs?]: New argument. Pass it to git-fetch. * guix/git-download.scm (git-lfs-package): New procedure. (git-fetch/in-band*): New procedure, made of the logic of git-fetch/in-band, with new git-lfs specifics, with the following changes: New #:git-lfs argument. <inputs>: Remove labels. Conditionally add git-lfs. <build>: Read "git lfs?" environment variable and pass its value to the #:lfs? argument of git-fetch-with-fallback. Use INPUTS directly; update comment. <gexp->derivation>: Add "git lfs?" to #:env-vars. (git-fetch/in-band): Express in terms of git-fetch/in-band*. (git-fetch/lfs): New procedure. * doc/guix.texi (origin Reference): Document it. Change-Id: I5b233b8642a7bdb8737b9d9b740e7254a89ccb25 Reviewed-by: Ludovic Courtès <ludo@gnu.org>
| * download: Replace faulty kernel mirror URL with canonical upstream.Leo Famulari2023-07-23
| | | | | | | | | | | | | | | | | | | | | | This mirror was providing truncated files. See patch ticket #66923 for more information about this change: <https://issues.guix.gnu.org/issue/66923> * guix/download.scm (%mirrors): Replace kernel mirror <uio.no> with <kernel.org>. Change-Id: I189fc4eaa2bb3fa8b6db028aa837f0d59a460327
| * time-machine: Warn when no command is given.Ludovic Courtès2023-11-05
| | | | | | | | | | | | | | * guix/scripts/time-machine.scm (guix-time-machine): Emit a warning when COMMAND-LINE is false. Change-Id: I26e6b608915ecaf6d9372f9b03dc5ebd1b4c68f9
| * time-machine: Make target commit check cheaper.Ludovic Courtès2023-11-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 79ec651a286c71a3d4c72be33a1f80e76a560031 introduced a check to error out when attempting to use ‘time-machine’ to travel to a commit before ‘v1.0.0’. This commit fixes a performance issue with the strategy used in 79ec651a286c71a3d4c72be33a1f80e76a560031 (the repository was opened, updated, and traversed a second time by ‘validate-guix-channel’) as well as a user interface issue (“Updating channel” messages would be printed too late). This patch reimplements the check in terms of the existing #:validate-pull mechanism, which is designed to avoid extra repository operations. Fixes <https://issues.guix.gnu.org/65788>. * guix/inferior.scm (cached-channel-instance): Change default value of #:validate-channels. Remove call to VALIDATE-CHANNELS; pass it as #:validate-pull to ‘latest-channel-instances’. * guix/scripts/time-machine.scm (%reference-channels): New variable. (validate-guix-channel): New procedure, written as a simplification of… (guix-time-machine)[validate-guix-channel]: … this. Remove. Pass #:reference-channels to ‘cached-channel-instance’. Reported-by: Simon Tournier <zimon.toutoune@gmail.com> Change-Id: I9b0ec61fba7354fe08b04a91f4bd32b72a35460c
| * lint: Speed up the formatting linter.Christopher Baines2023-11-05
| | | | | | | | | | | | | | | | | | | | By using go-to-location which caches the number of bytes to seek by to get to specific lines in a file. * guix/lint.scm (report-formatting-issues): Use go-to-location. Change-Id: I34e4d3acfbb1e14e026d2e7f712ba8d22b56c147 Signed-off-by: Christopher Baines <mail@cbaines.net>
| * scripts: edit: Fix relative file-name with 'load-path' option.Simon Tournier2023-11-05
| | | | | | | | | | | | | | * guix/scripts/edit.scm (search-path*): Return 'file' if exists when 'search-path' fails. Change-Id: I891d63d0d28577a7d1732fc59435828ecc0a5c5a
* | Merge branch 'master' into gnome-teamLiliana Marie Prikler2023-11-04
|\| | | | | | | Change-Id: I88d3789460d1a89917451d80405d89a2824006ac
| * guix: Upgrade to Bioconductor 3.18.Ricardo Wurmus2023-11-03
| | | | | | | | | | | | | | | | * guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.18. * guix/import/cran.scm (%bioconductor-version): Same. Change-Id: Ic3fc2e6ab6b5f6f6e55662f81baee67391158c5b
| * build-system/go: Use gccgo when go isn't supported.Efraim Flashner2023-10-28
| | | | | | | | | | | | | | * guix/build-system/go.scm (default-gccgo): New variable. (lower): Only use default-go when it is supported. Change-Id: I30564d97703344df582accaf741f4fcd159b6be1
| * environment: Fix typo in error messages.Ludovic Courtès2023-10-28
| | | | | | | | | | | | | | * guix/scripts/environment.scm (guix-environment*): Fix typo in error messages. Change-Id: I0b8669cb43267d0456a70f3b157514a6bcc725e8
| * environment: Parameterize ‘%graft?’ early on.Ludovic Courtès2023-10-28
| | | | | | | | | | | | | | | | | | | | | | Previously, ‘%graft?’ would be parameterized after ‘package-derivation’ had been called for ‘%guile-for-build’, which is too late. * guix/scripts/environment.scm (guix-environment*)[with-store/maybe]: Parameterize ‘%graft?’. Remove ‘%graft?’ parameterization from body. Change-Id: I65ef4a8c5f27e19a49196005871e5f7057fabaec
| * profiles: Hooks honor the #:system parameter of ‘profile-derivation’.Ludovic Courtès2023-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/65225>. * guix/profiles.scm (info-dir-file, package-cache-file) (info-dir-file, ghc-package-cache-file, ca-certificate-bundle) (emacs-subdirs, gdk-pixbuf-loaders-cache-file, glib-schemas) (gtk-icon-themes, gtk-im-modules, linux-module-database) (xdg-desktop-database, xdg-mime-database, fonts-dir-file) (manual-database, manual-database/optional): Add optional #:system parameter and pass it to ‘gexp->derivation’. (profile-derivation): Pass HOOK a second parameter, SYSTEM. * gnu/bootloader.scm (efi-bootloader-profile)[efi-bootloader-profile-hook]: Add optional #:system parameter and pass it to ‘gexp->derivation’. * guix/channels.scm (package-cache-file): Likewise. * tests/profiles.scm ("profile-derivation, #:system, and hooks"): New test. Reported-by: Tobias Geerinckx-Rice <me@tobias.gr>
| * packages: Add ‘system’ parameter for ‘set-guile-for-build’.Ludovic Courtès2023-10-28
| | | | | | | | * guix/packages.scm (set-guile-for-build): Add ‘system’ parameter.
| * environment: Honor ‘-s’ for guile-for-build.Ludovic Courtès2023-10-28
| | | | | | | | | | | | | | | | | | | | Partly fixes <https://issues.guix.gnu.org/65225>. * guix/scripts/environment.scm (guix-environment*): Pass SYSTEM to ‘package-derivation’ when defining ‘%guile-for-build’. Reported-by: Simon Tournier <zimon.toutoune@gmail.com> Change-Id: I9d883f1e61fac72754fdc9dee9b7c8a3dea32add
| * grafts: Fix corner case involving multiple-output derivations.Ludovic Courtès2023-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a bug that would occur with references to two outputs of the same derivation, with one of them referring to the other one. For example, the references of libreoffice include both mariadb:dev and mariadb:lib; additionally, mariadb:dev refers to mariadb:lib. In this case, the glibc graft would not be applied on one of the mariadb paths, and both the grafted and ungrafted glibc would end up in the closure of libreoffice. Fixes <https://issues.guix.gnu.org/66662>. * guix/grafts.scm (non-self-references): Simplify and include references to outputs of DRV other than OUTPUTS. (reference-origins): Simplify and possibly return outputs of DRV itself. (cumulative-grafts)[graft-origin?]: Add OUTPUT parameter and honor it. [dependency-grafts]: Adjust accordingly. * tests/grafts.scm ("graft-derivation, multiple outputs need to be replaced"): New test. Change-Id: Iac2005024ab7049037537b3af55298696ec90e3c
| * utils: Add 'strip-for-target'.Zheng Junjie2023-10-26
| | | | | | | | | | | | * guix/utils.scm (strip-for-target): New procedure. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* | Merge branch 'master' into gnome-teamLiliana Marie Prikler2023-10-23
|\| | | | | | | Change-Id: Ib6f55bebef2fb235fa59fd5442102a3e0ace3191
| * syscalls: Consistently use existing linux? definition.Sören Tempel2023-10-23
| | | | | | | | | | | | | | | | | | | | | | | | Instead of duplicating this existing logic across the source file. This will make it easier to add additional linux targets (e.g. linux-musl) in the future. * guix/build/syscalls.scm (readdir*, write-socket-address!) (read-socket-address): Use linux? constant. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Change-Id: I833c1d1630dcb8319584de1ea918cb22696f0058
| * syscalls: Add support for musl libc.Sören Tempel2023-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit allows using Guix on a foreign distro which uses musl libc, for example, Alpine Linux. Usage of musl libc is detected via a new musl-libc? variable using the Guile %host-type. Using the new musl-libc? variable, we can now implement musl-specific quirks. The two compatibility problems I encountered in this regard are that musl dose not export a readdir64 and statfs64 symbol. On musl, these two functions are implemented as CPP macros that expand to readdir/statfs. To workaround that, a case-distinction was added. The existing linux? variable has been modified to return true if the %host-system contains "linux-" in order to ensure it is true for both linux-gnu as well as linux-musl host systems. The patch has been tested on Alpine Linux and is already used for the downstream Guix package shipped in Alpine Linux's package repository. * guix/build/syscalls.scm (musl-libc?): New variable. (linux?): Truth value on any linux system. (statfs, readdir-procedure): Support musl libc. Signed-off-by: Sören Tempel <soeren@soeren-tempel.net> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Change-Id: Icc4101a062381240f977f4550344bde696513c52
| * build-system/dub: Remove dependency on (guix build syscalls).Ludovic Courtès2023-10-23
| | | | | | | | | | | | | | The (guix build syscalls) module was unused. * guix/build-system/dub.scm (%dub-build-system-modules): Remove (guix build syscalls).
| * build-system/android-ndk: Remove dependency on (guix build syscalls).Ludovic Courtès2023-10-23
| | | | | | | | | | | | | | The (guix build syscalls) module was unused. * guix/build-system/android-ndk.scm (%android-ndk-build-system-modules): Remove (guix build syscalls).
| * build-system/ant: Remove dependency on (guix build syscalls).Ludovic Courtès2023-10-23
| | | | | | | | | | | | | | | | The module has been unused since a6343af22161b21ddbc4143a2b6a60d1ee860eb0. * guix/build-system/ant.scm (%ant-build-system-modules): Remove (guix build syscalls).
| * guix: import: Don't import yanked rust crates.Efraim Flashner2023-10-22
| | | | | | | | | | | | | | * guix/import/crate.scm (<crate-version>): Add yanked? field. (crate->guix-package)[find-crate-version]: Remove versions which have been yanked. * tests/crate.scm: Adjust tests for new yanked? field.
| * Merge remote-tracking branch 'origin/rust-team'Efraim Flashner2023-10-21
| |\
| | * Revert "build: cargo-build-system: Disable tests by default."Efraim Flashner2023-10-18
| | | | | | | | | | | | | | | | | | This reverts commit 37667443074a6de29f7665868f102111d62f0af9. This change needs more discussion.
| | * build: cargo-build-system: Find more pregenerated files.Efraim Flashner2023-10-18
| | | | | | | | | | | | | | | * guix/build/cargo-build-system.scm (check-for-pregenerated-files): Also search for MacOS dynamic libraries.
| | * build: cargo-build-system: Disable tests by default.Efraim Flashner2023-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build-system/cargo.scm (cargo-build): Disable tests by default. * gnu/packages/admin.scm (greetd, wlgreet, du-dust), * gnu/packages/bioinformatics.scm (circtools, python-gseapy), * gnu/packages/crypto.scm (rust-minisign, b3sum), * gnu/packages/gnome.scm (librsvg), * gnu/packages/python-crypto.scm (python-blake3, python-cryptography-rust), * gnu/packages/python-xyz.scm (python-orjson), * gnu/packages/rust-apps.scm (agate, alfis, bat, diffr, drill, dutree, exa, fd, hexyl, hyperfine, i3status-rust, just, maturin, ripgrep, rot8, rust-swc, rust-cargo-edit, git-interactive-rebase-tool, rust-cbindgen, rust-cbindgen-0.24, rust-cbindgen-0.19, sniffglue, tectonic, treefmt, hex, tokei, vivid, watchexec, rbw, rust-analyzer, rust-cargo-c, rtss, skim, skim-0.7, svd2rust, swayhide, tealdeer, git-absorb, zoxide, htmlq), * gnu/packages/sequoia.scm (sequoia-sqv), * gnu/packages/syndication.scm (newsboat), * gnu/packages/terminals.scm (alacritty), * gnu/packages/text-editors.scm (kak-lsp, parinfer-rust), * gnu/packages/tree-sitter.scm (tree-sitter-cli), * gnu/packages/video.scm (rav1e), * gnu/packages/web.scm (monolith, castor) [arguments]: Enable tests.
| | * build: cargo-build-system: Strip enough prefix in package.Efraim Flashner2023-10-18
| | | | | | | | | | | | | | | * guix/build/cargo-build-system.scm (package): When using the source as the packaged crate also strip the 'rust-' prefix.
| | * build: cargo-build-system: Reset timestamps in crates.Efraim Flashner2023-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes reproducibility in rust crates from the package phase, see <https://issues.guix.gnu.org/50015>. * guix/build/cargo-build-system.scm (package): After running 'cargo package' on the source unpack the tarball, reset the timestamps and repack it.
| | * build: cargo-build-system: Check for pregenerated files.Efraim Flashner2023-10-18
| | | | | | | | | | | | | | | | | | | | | * guix/build/cargo-build-system.scm (check-for-pregenerated-files): New procedure. (%standard-phases): Add 'check-for-pregenerated-files phase between 'unpack and 'unpack-rust-crates.
| * | build-system: Add zig-build-system.Ekaitz Zarraga2023-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build-system/zig.scm: New file. * guix/build/zig-build-system.scm: New file. * Makefile.am: Add them. * doc/guix.texi: Document it. * etc/snippets/yas/scheme-mode/guix-package (build-system): Add zig-build-system. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * | locate: Do not return the system database when it is too old.Ludovic Courtès2023-10-18
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a bug whereby ‘guix locate’ would pick the system database, then decide it’s too old, try to update it, and fail because it’s not writable by unprivileged users. Fixes <https://issues.guix.gnu.org/66612>. * guix/scripts/locate.scm (file-age): New procedure. (suitable-database): Add ‘age-update-threshold’ parameter and honor it. (guix-locate): Remove ‘file-age’. Pass ‘age-update-threshold’ to the ‘database’ option. Reported-by: Matt Wette <matt.wette@gmail.com>
| * guix: import: opam: Handle list of licenses.Josselin Poiret2023-10-17
| | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/issue/66461>. Reported by Simon Tournier <zimon.toutoune@gmail.com>. * guix/import/opam.scm (opam->guix-package): Handle lists of licenses. Signed-off-by: Simon Tournier <zimon.toutoune@gmail.com>
| * scripts: weather: Handle EPIPE errors when displaying help.Simon Tournier2023-10-17
| | | | | | | | | | * guix/scripts/weather.scm (%options): Handle EPIPE errors when displaying help.
| * scripts: upgrade: Handle EPIPE errors when displaying help.Simon Tournier2023-10-17
| | | | | | | | | | * guix/scripts/upgrade.scm (%options): Handle EPIPE errors when displaying help.
| * scripts: time-machine: Handle EPIPE errors when displaying help.Simon Tournier2023-10-17
| | | | | | | | | | * guix/scripts/time-machine.scm (%options): Handle EPIPE errors when displaying help.
| * scripts: substitute: Handle EPIPE errors when displaying help.Simon Tournier2023-10-17
| | | | | | | | | | * guix/scripts/substitute.scm (%options): Handle EPIPE errors when displaying help.
| * scripts: system: Handle EPIPE errors when displaying help.Simon Tournier2023-10-17
| | | | | | | | * guix/scripts/system.scm (%options): Handle EPIPE errors when displaying help.
| * scripts: style: Handle EPIPE errors when displaying help.Simon Tournier2023-10-17
| | | | | | | | * guix/scripts/style.scm (%options): Handle EPIPE errors when displaying help.
| * scripts: size: Handle EPIPE errors when displaying help.Simon Tournier2023-10-17
| | | | | | | | * guix/scripts/size.scm (%options): Handle EPIPE errors when displaying help.
| * scripts: show: Handle EPIPE errors when displaying help.Simon Tournier2023-10-17
| | | | | | | | * guix/scripts/show.scm (%options): Handle EPIPE errors when displaying help.
| * scripts: shell: Handle EPIPE errors when displaying help.Simon Tournier2023-10-17
| | | | | | | | * guix/scripts/shell.scm (%options): Handle EPIPE errors when displaying help.