summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2023-12-03Merge branch 'master' into HEADLiliana Marie Prikler
Change-Id: I3f5d121162d98ef2ae61a62c4da3b0fd19d864e8
2023-12-02gnu: Use ‘libc-utf8-locales-for-target’.Janneke Nieuwenhuizen
* guix/packages.scm (%standard-patch-inputs): Use ‘libc-utf8-locales-for-target’ instead of ‘glibc-utf8-locales’. * guix/self.scm (%packages): Likewise. * gnu/home/services/ssh.scm (file-join): Likewise * gnu/installer.scm (build-compiled-file): Likewise. * gnu/packages/chromium.scm (ungoogled-chromium/wayland): Likewise. * gnu/packages/gnome.scm (libgweather4, tracker): Likewise. * gnu/packages/javascript.scm (js-mathjax): Likewise. * gnu/packages/package-management.scm (guix, flatpak): Likewise. * gnu/packages/raspberry-pi.scm (raspi-arm64-chainloader): Likewise. * gnu/packages/suckless.scm (svkbd): Likewise. * gnu/services.scm (cleanup-gexp): Likewise. * gnu/services/base.scm (guix-publish-shepherd-service): Likewise. * gnu/services/guix.scm (guix-build-coordinator-shepherd-services) (guix-build-coordinator-agent-shepherd-services): Likewise. * gnu/services/guix.scm (guix-build-coordinator-queue-builds-shepherd-services): (guix-data-service-shepherd-services) (nar-herder-shepherd-services) (bffe-shepherd-services): Likewise. * gnu/services/web.scm (anonip-shepherd-service) (mumi-shepherd-services): Likewise. * gnu/system/image.scm (system-disk-image, system-iso9660-image) (system-docker-image, system-tarball-image): Likewise. * gnu/system/install.scm (%installation-services): Likewise. * guix/profiles.scm (info-dir-file): Likewise. (ca-certificate-bundle, profile-derivation): Likewise. * guix/scripts/pack.scm (store-database, set-utf8-locale): Likewise. * tests/pack.scm: Likewise. * tests/profiles.scm ("profile-derivation, cross-compilation"): Likewise. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Co-authored-by: Christopher Baines <mail@cbaines.net> Change-Id: I24239f427bcc930c29d2ba5d00dc615960a6c374
2023-11-19Merge branch 'master' into gnome-teamLiliana Marie Prikler
Change-Id: I62da840b7600f2d3d8541e666d09e2f2a1b7d8c4
2023-11-15build-system/guile: Add target-guile-scm+go procedure.Tomas Volf
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>
2023-11-15locate: Accept ‘--clear’ without additional arguments.Ludovic Courtès
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
2023-11-04Merge branch 'master' into gnome-teamLiliana Marie Prikler
Change-Id: I88d3789460d1a89917451d80405d89a2824006ac
2023-11-03guix: Upgrade to Bioconductor 3.18.Ricardo Wurmus
* guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.18. * guix/import/cran.scm (%bioconductor-version): Same. Change-Id: Ic3fc2e6ab6b5f6f6e55662f81baee67391158c5b
2023-11-01guix: emacs-build-system: Process package source in build tree.Liliana Marie Prikler
* guix/build/emacs-build-system.scm (ensure-package-description) (patch-el-files, make-autoloads): Operate on the current working directory, either implicitly, or through (getcwd). (enable-autoloads-compilation): Deleted variable, logic moved into make-autoloads. (%standard-phases): Adjust accordingly.
2023-10-23Merge branch 'master' into gnome-teamLiliana Marie Prikler
Change-Id: Ib6f55bebef2fb235fa59fd5442102a3e0ace3191
2023-10-23syscalls: Consistently use existing linux? definition.Sören Tempel
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
2023-10-23syscalls: Add support for musl libc.Sören Tempel
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
2023-10-23build-system/dub: Remove dependency on (guix build syscalls).Ludovic Courtès
The (guix build syscalls) module was unused. * guix/build-system/dub.scm (%dub-build-system-modules): Remove (guix build syscalls).
2023-10-23build-system/android-ndk: Remove dependency on (guix build syscalls).Ludovic Courtès
The (guix build syscalls) module was unused. * guix/build-system/android-ndk.scm (%android-ndk-build-system-modules): Remove (guix build syscalls).
2023-10-23build-system/ant: Remove dependency on (guix build syscalls).Ludovic Courtès
The module has been unused since a6343af22161b21ddbc4143a2b6a60d1ee860eb0. * guix/build-system/ant.scm (%ant-build-system-modules): Remove (guix build syscalls).
2023-10-22guix: import: Don't import yanked rust crates.Efraim Flashner
* 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.
2023-10-28build-system/go: Use gccgo when go isn't supported.Efraim Flashner
* guix/build-system/go.scm (default-gccgo): New variable. (lower): Only use default-go when it is supported. Change-Id: I30564d97703344df582accaf741f4fcd159b6be1
2023-10-09Merge branch 'master' into gnome-teamLiliana Marie Prikler
2023-10-06build-system/minify: Use esbuild.Ricardo Wurmus
* 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.
2023-10-05perform-download: Set PATH before invoking ‘git’.Ludovic Courtès
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’.
2023-10-05refresh: Fix sorting of updates by file and line number.Ricardo Wurmus
* guix/scripts/refresh.scm (guix-refresh): Add cascade-sort procedure and use it to sort specs by package location.
2023-10-04search-paths: Add GCC search paths.Maxim Cournoyer
* guix/search-paths.scm ($C_INCLUDE_PATH, $CPLUS_INCLUDE_PATH) ($LIBRARY_PATH, %gcc-search-paths): New variables.
2023-10-04guix: meson-configuration: Fix boolean assigment.Jean-Pierre De Jesus DIAZ
* 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>
2023-09-30Merge branch 'master' into gnome-teamLiliana Marie Prikler
2023-09-24Merge branch 'master' into gnome-teamLiliana Marie Prikler
2023-09-28archive: Fix ‘--version’ typo.Nikolaos Chatzikonstantinou
* guix/scripts/archive.scm (%options): Replace 'build' by 'archive'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-09-24read-print: Be more mindful of horizontal space in packages.Tobias Geerinckx-Rice
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.
2023-09-26git-download: Use “builtin:git-download” when available.Ludovic Courtès
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.
2023-09-26perform-download: Use the ‘git’ command captured at configure time.Ludovic Courtès
* guix/scripts/perform-download.scm (perform-git-download): Pass #:git-command to ‘git-fetch-with-fallback’.
2023-09-26build: Add dependency on Git.Ludovic Courtès
* 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.
2023-09-26daemon: Add “git-download” built-in builder.Ludovic Courtès
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.
2023-09-26perform-download: Remove unused one-argument clause.Ludovic Courtès
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.
2023-09-26git-download: Honor the ‘GUIX_DOWNLOAD_FALLBACK_TEST’ environment variable.Ludovic Courtès
* guix/git-download.scm (git-fetch): Honor ‘%download-fallback-test’.
2023-09-26git-download: Move fallback code to (guix build git).Ludovic Courtès
* 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’.
2023-09-25git: Restore 'false-if-git-not-found' in 'reference-available?'.Simon Tournier
* guix/git/scm (reference-available?): Add 'false-if-git-not-found' for the case 'commit.
2023-09-22Merge branch 'master' into emacs-teamLiliana Marie Prikler
2023-09-22git: Avoid touching the network unless needed in 'reference-available?'.Simon Tournier
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.
2023-09-20image: Introduce the mbr-hybrid-raw image type.Mathieu Othacehe
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>
2023-09-19self: Compile guix-packages-base in chunks of 10 files.Janneke Nieuwenhuizen
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".
2023-09-18self: Build directories in chunks of max 25 files at a time.Janneke Nieuwenhuizen
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.
2023-09-15Merge branch 'master' into gnome-team.Liliana Marie Prikler
2023-09-13upstream: Compare symbols to symbols.Ricardo Wurmus
The UNCHANGED? comparison would always yield #FALSE, because we have been comparing lists of strings with lists of symbols. * guix/upstream.scm (update-package-inputs): Convert string labels to symbols before comparison.
2023-09-12search-paths: Add $TZDIR.Maxim Cournoyer
* guix/search-paths.scm ($TZDIR): New search path.
2023-09-11gnu-maintenance: Support URI list of mixed mirrors, HTTP URLs.Maxim Cournoyer
This reinstate commit a5b5df7f7fbbb98487b2e7a59941efee6492bc7f with a fix to the inner expand-uri procedure.
2023-09-11Revert "gnu-maintenance: Support URI list of mixed mirrors, HTTP URLs."Maxim Cournoyer
This reverts commit a5b5df7f7fbbb98487b2e7a59941efee6492bc7f. Pushed too early.
2023-09-11gnu-maintenance: Support URI list of mixed mirrors, HTTP URLs.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/58697>. * guix/gnu-maintenance.scm (import-html-updatable-release): Update doc. <expand-uri>: New nested procedure. Apply it to the origin URI. Reported-by: kiasoc5 <kiasoc5@disroot.org>
2023-09-17transformations: tuned-package: Use target on cross-compile.Jean-Pierre De Jesus DIAZ
* 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>
2023-09-09Merge branch 'master' into emacs-teamLiliana Marie Prikler
2023-09-08guix: shell: Don't whitelist / by typo in `shell-authorized-directories'.Janneke Nieuwenhuizen
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.
2023-09-08lint: Check that (cc-for-target) and friends are used.Maxime Devos
"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>
2023-09-07Merge branch 'master' into gnome-teamLiliana Marie Prikler