summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2023-10-17scripts: locate: Handle EPIPE errors when displaying help....* guix/scripts/locate.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: lint: Handle EPIPE errors when displaying help....* guix/scripts/lint.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: install: Handle EPIPE errors when displaying help....* guix/scripts/install.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: import: Handle EPIPE errors when displaying help....* guix/scripts/import.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: home: Handle EPIPE errors when displaying help....* guix/scripts/home.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: hash: Handle EPIPE errors when displaying help....* guix/scripts/hash.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: graph: Handle EPIPE errors when displaying help....* guix/scripts/graph.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: git: Handle EPIPE errors when displaying help....* guix/scripts/git.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: gc: Handle EPIPE errors when displaying help....* guix/scripts/gc.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: edit: Handle EPIPE errors when displaying help....* guix/scripts/edit.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: download: Handle EPIPE errors when displaying help....* guix/scripts/download.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: discover: Handle EPIPE errors when displaying help....* guix/scripts/discover.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: describe: Handle EPIPE errors when displaying help....* guix/scripts/describe.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: deploy: Handle EPIPE errors when displaying help....* guix/scripts/deploy.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: copy: Handle EPIPE errors when displaying help....* guix/scripts/copy.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: container: Handle EPIPE errors when displaying help....* guix/scripts/container.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: challenge: Handle EPIPE errors when displaying help....* guix/scripts/challenge.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: build: Handle EPIPE errors when displaying help....* guix/scripts/build.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17scripts: archive: Handle EPIPE errors when displaying help....* guix/scripts/archive.scm (%options): Handle EPIPE errors when displaying help. Simon Tournier
2023-10-17ui: Handle EPIPE errors when displaying Guix version....Fixes <https://issues.guix.gnu.org/66254>. Reported by Clément Lassieur <clement@lassieur.org>. * guix/ui.scm (show-version-and-exit): Handle EPIPE errors when displaying version. Simon Tournier
2023-10-16pack: Allow setting a custom image tag for Docker images...Previously, the image repository name was automatically computed from the packages in the manifest without allowing the user to set a custom one. As such, changing the packages in the manifest would result in a new image name. Thereby requiring updating documentation et cetera when using `docker load` directory on the resulting image. Inspired by `docker build -t`, this commit adds a new Docker-specific option to `guix pack` which allows setting a custom repository name for the resulting image. If this option is not specified, pack falls back to computing the name from the manifest. Therefore, this change is entirely backwards compatible. Documentation has been added with: 373ec2cf8ce97d5f89191c3d9211ee3a5c2067dc. * guix/scripts/pack.scm (guix-pack): Add --image-tag option. (%docker-format-options): New constant. (show-docker-format-options): New procedure. (show-docker-format-options/detailed): New procedure. (docker-image): Allow setting a custom repository name for the created docker image via extra-options. Signed-off-by: Sören Tempel <soeren@soeren-tempel.net> Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Sören Tempel
2023-10-18locate: Do not return the system database when it is too old....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> Ludovic Courtès
2023-10-12shell: Take grafting into account when caching....Fixes <https://issues.guix.gnu.org/64856>. * guix/scripts/shell.scm (profile-file-cache-key) (profile-spec-cache-key): Take (%graft?) into account. Reported-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Ludovic Courtès
2023-10-06build-system/minify: Use esbuild....* guix/build-system/minify.scm (default-uglify-js): Replace this procedure... (default-esbuild): ...with this new procedure. (lower): Use it, and add "esbuild" to build inputs. * guix/build/minify-build-system.scm (minify): Invoke esbuild instead of setting up a pipe to uglifyjs. * gnu/packages/cran.scm (r-shiny)[native-inputs]: Replace node-uglify-js with esbuild. * gnu/packages/statistics.scm (r-dt)[native-inputs]: Same. Ricardo Wurmus
2023-10-05perform-download: Set PATH before invoking ‘git’....Fixes <https://issues.guix.gnu.org/66305>. Reported by Guillaume Le Vaillant <glv@posteo.net>. * guix/scripts/perform-download.scm (perform-git-download): Add call to ‘setenv’. Ludovic Courtès
2023-10-05refresh: Fix sorting of updates by file and line number....* guix/scripts/refresh.scm (guix-refresh): Add cascade-sort procedure and use it to sort specs by package location. Ricardo Wurmus
2023-10-04search-paths: Add GCC search paths....* guix/search-paths.scm ($C_INCLUDE_PATH, $CPLUS_INCLUDE_PATH) ($LIBRARY_PATH, %gcc-search-paths): New variables. Maxim Cournoyer
2023-10-04guix: meson-configuration: Fix boolean assigment....* guix/build/meson-configuration.scm (write-assigment): Print true for #t and false for #f. Previously it was inverting the values. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Jean-Pierre De Jesus DIAZ
2023-09-28archive: Fix ‘--version’ typo....* guix/scripts/archive.scm (%options): Replace 'build' by 'archive'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Nikolaos Chatzikonstantinou
2023-09-24read-print: Be more mindful of horizontal space in packages....Perhaps due to their staged nature, packages tend to be ‘lopsided’: deeply nested, with the most elaborate code on the {build,right-hand-,in}side, in snippets and phases. When we indent outer forms too eagerly, we can easily run short on columns by the time we get to the build code, reducing readability. A few strategically-placed newlines early on can make a big difference. * guix/read-print.scm (%newline-forms): Add a newline after opening a <package> source field or an argument list. Compensate by removing the base32 special case, which is now unnecessary. Tobias Geerinckx-Rice
2023-09-26git-download: Use “builtin:git-download” when available....Fixes <https://issues.guix.gnu.org/63331>. Longer-term this will remove Git from the derivation graph when its sole use is to perform a checkout for a fixed-output derivation, thereby breaking dependency cycles that can arise in these situations. * guix/git-download.scm (git-fetch): Rename to… (git-fetch/in-band): … this. Deal with GIT or GUILE being #f. (git-fetch/built-in, built-in-builders*, git-fetch): New procedures. * tests/builders.scm ("git-fetch, file URI"): New test. Ludovic Courtès
2023-09-26perform-download: Use the ‘git’ command captured at configure time....* guix/scripts/perform-download.scm (perform-git-download): Pass #:git-command to ‘git-fetch-with-fallback’. Ludovic Courtès
2023-09-26build: Add dependency on Git....* configure.ac: Check for ‘git’ and substitute ‘GIT’. * guix/config.scm.in (%git): New variable. * guix/self.scm (compiled-guix): Define ‘git’ and pass it to ‘make-config.scm’. (make-config.scm): Add #:git; emit a ‘%git’ variable. * doc/guix.texi (Requirements): Add it. Ludovic Courtès
2023-09-26daemon: Add “git-download” built-in builder....The new builder makes it possible to break cycles that occurs when the fixed-output derivation for the source of a dependency of ‘git’ would itself depend on ‘git’. * guix/scripts/perform-download.scm (perform-git-download): New procedure. (perform-download): Move fixed-output derivation check to… (guix-perform-download): … here. Invoke ‘perform-download’ or ‘perform-git-download’ depending on what ‘derivation-builder’ returns. * nix/libstore/builtins.cc (builtins): Add “git-download”. * tests/derivations.scm ("built-in-builders"): Update. ("'git-download' built-in builder") ("'git-download' built-in builder, invalid hash") ("'git-download' built-in builder, invalid commit") ("'git-download' built-in builder, not found"): New tests. Ludovic Courtès
2023-09-26perform-download: Remove unused one-argument clause....Code in ‘builtins.cc’ only ever invokes ‘guix perform-download’ with two arguments. * guix/scripts/perform-download.scm (guix-perform-download): Remove unused one-argument clause. (perform-download): Make ‘output’ parameter mandatory; remove ‘output*’ variable. Ludovic Courtès
2023-09-26git-download: Honor the ‘GUIX_DOWNLOAD_FALLBACK_TEST’ environment variable....* guix/git-download.scm (git-fetch): Honor ‘%download-fallback-test’. Ludovic Courtès
2023-09-26git-download: Move fallback code to (guix build git)....* guix/build/git.scm (git-fetch-with-fallback): New procedure, with code taken from… * guix/git-download.scm (git-fetch): … here. [modules]: Remove modules that are no longer directly used in ‘build’. [build]: Use ‘git-fetch-with-fallback’. Ludovic Courtès
2023-09-25git: Restore 'false-if-git-not-found' in 'reference-available?'....* guix/git/scm (reference-available?): Add 'false-if-git-not-found' for the case 'commit. Simon Tournier
2023-09-22Merge branch 'master' into emacs-teamLiliana Marie Prikler
2023-09-22git: Avoid touching the network unless needed in 'reference-available?'....Follow-up of 756e336fa008c2469b4a7317ad5c641ed48f25d6 fixing the issue. * guix/git/scm (reference-available?): Address case by case to determine whether the reference exists in the local Git checkout. Simon Tournier
2023-09-20image: Introduce the mbr-hybrid-raw image type....Until 209204e23b39af09e0ea92540b6fa00a60e6a0ae and d57cab764122af69d52d8cc9c843456044e5d7bc, the default image type used by "guix system image" was an MBR image with an ESP partition. Having both an MBR image and an ESP partition is handy because the image will boot on most x86 based systems using legacy BIOS and/or UEFI. We now have a distinction between MBR images and EFI images. Introduce a new MBR hybrid image type and default to it to restore the default behaviour. This also fixes the images section of (gnu ci) that was trying to install a BIOS bootloader on an EFI, GPT image and failing to do so. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Mathieu Othacehe
2023-09-19self: Compile guix-packages-base in chunks of 10 files....This fixes or greatly increases the chances for `guix pull' to succeed on the Hurd, see <https://issues.guix.gnu.org/65456>. * guix/self.scm (compiled-modules)[process-directory]: Move hardcoded size to keyword parameter #:size. Set it to 10 when compiling "guix-packages-base". Janneke Nieuwenhuizen
2023-09-18self: Build directories in chunks of max 25 files at a time....This increases the chances of a successful `guix pull' on the Hurd, see <https://issues.guix.gnu.org/65456>. * guix/self.scm (compiled-modules)[process-directory]: Split building of directories into chunks of max 25 files. Also call gc. Janneke Nieuwenhuizen
2023-09-17transformations: tuned-package: Use target on cross-compile....* guix/transformations.scm (tuned-package): Use either bag-target if available or bag-system to select the CPU architecture of the package that is going to be tuned. This enables the tuning of cross-compiled packages. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Jean-Pierre De Jesus DIAZ
2023-09-09Merge branch 'master' into emacs-teamLiliana Marie Prikler
2023-09-08guix: shell: Don't whitelist / by typo in `shell-authorized-directories'....Fixes <https://issues.guix.gnu.org/65832>. * guix/scripts/shell.scm (authorized-shell-directory?): After warning, continue LOOP to return valid query result for DIRECTORY. Janneke Nieuwenhuizen
2023-09-08lint: Check that (cc-for-target) and friends are used...."CC=gcc" is almost always incorrect; people often just don't notice the incorrectness because they are compiling natively. For an exception, see tzdata. "guix style" partially made things worse, so I partially ignored it. * guix/lint.scm (check-compiler-for-target): New linter. * tests/lint.scm ("compiler-for-target: unconditional CC=gcc is unacceptable") ("compiler-for-target: looks through G-expressions") ("compiler-for-target: (cc-for-target) is acceptable") ("compiler-for-target: CC=gcc is acceptable when target=#false"): Test it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxime Devos
2023-09-07build: emacs-utils: Adjust ‘emacs-compile-directory’ for Emacs 29....* guix/build/emacs-utils.scm (emacs-compile-directory): After native compilation, write the bytecode file with ‘comp-write-bytecode-file’. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Hilton Chain
2023-09-06guix: packages: Support package/inherit by package-field-location....Fixes <https://issues.guix.gnu.org/65236>. * guix/packages.scm (package-field-location): Add package/inherit case. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Reported-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Simon Tournier
2023-09-06gnu-maintenance: Do not error when there are no candidates....Fixes <https://issues.guix.gnu.org/65773>. * guix/gnu-maintenance.scm (rewrite-url): Do not error when there are no candidates. This may well be possible, depending on the site. Maxim Cournoyer