aboutsummaryrefslogtreecommitdiff
A big thanks to Eelco Dolstra, who designed and implemented Nix.
Transposing functional programming discipline to package management
proved to be inspiring and fruitful.

Thanks to the following people who contributed to GNU Guix through
suggestions, bug reports, patches, internationalization, or general
infrastructure help:

	    Lluís Batlle i Rossell <viric@viric.name>
          Sylvain Beucler <beuc@beuc.net>
	   Carlos Carleos <carleos@uniovi.es>
	   Felipe Castro <fefcas@gmail.com>
	   Daniel Clark <dclark@pobox.com>
	Alexandru Cojocaru <xojoc@gmx.com>
	    Aleix Conchillo Flaqué <aconchillo@gmail.com>
          Malcolm Cook <MEC@stowers.org>
           Thomas Danckaert <thomas.danckaert@gmail.com>
	   Rafael Ferreira <rafael.f.f1@gmail.com>
	Christian Grothoff <christian@grothoff.org>
             Eric Hanchrow <eric.hanchrow@gmail.com>
           Konrad Hinsen <konrad.hinsen@fastmail.net>
          Brandon Invergo <brandon@gnu.org>
           Anders Jonsson <anders.jonsson@norsjovallen.se>
	  Jeffrin Jose <ahiliation@yahoo.co.in>
	          Kete <kete@ninthfloor.org>
           Daniel Kochmański <dkochmanski@hellsgate.pl>
	  Matthew Lien <bluet@bluet.org>
             Dave Love <fx@gnu.org>
            Chris Marusich <cmmarusich@gmail.com>
            Niels Möller <nisse@lysator.liu.se>
          Cyprien Nicolas <cyprien@nicolas.tf>
	   Yutaka Niibe <gniibe@fsij.org>
           Andrei Osipov <andrspv@gmail.com>
                  Petter <petter@mykolab.ch>
             Adam Pribyl <pribyl@lowlevel.cz>
            Pjotr Prins <pjotr.public12@thebird.nl>
  Yakkala Yagnesh Raghava <hi@yagnesh.org>
           Joshua Randall <jcrandall@alum.mit.edu>
      Bruno Félix Rezende Ribeiro <oitofelix@gnu.org>
	    Benno Schulenberg <coordinator@translationproject.org>
           Thomas Schwinge <thomas@codesourcery.com>
        Alexander Shendi <Alexander.Shendi@web.de>
	     Alen Skondro <askondro@gmail.com>
              Jan Synáček <jan.synacek@gmail.com>
	 Matthias Wachs <wachs@net.in.tum.de>
        Christine Lemmer-Webber <cwebber@dustycloud.org>
           Philip Woods <elzairthesorcerer@gmail.com>

GNU Guix also includes non-software works.  Thanks to the following
people who contributed the logo and general artwork and themes:

           Nikita Karetnikov <nikita@karetnikov.org>
           Felipe López <felipe.lopez@openmailbox.org>
ifying CIFS credentials in a file....As files in the store and /etc/fstab are world readable, specifying the password in the file-system record is suboptimal. To mitigate this, `mount.cifs' supports reading `username', `password' and `domain' options from a file named by the `credentials' or `cred' option. * gnu/build/file-systems.scm (mount-file-system): Read mount options from the file specified via the `credentials' or `cred' option if specified. Change-Id: I786c5da373fc26d45fe7a876c56a8c4854d18532 Signed-off-by: Ludovic Courtès <ludo@gnu.org> vicvbcun 2024-07-20file-systems: Skip checking the cifs file-system type....* gnu/build/file-systems.scm (check-file-system)[check-procedure]: Add cifs. Change-Id: I891b18f03884ed45e92ac32556fe04b3087e20dd Signed-off-by: Ludovic Courtès <ludo@gnu.org> Richard Sent 2024-06-04file-systems: Add support for mounting CIFS file systems...* gnu/build/file-systems (canonicalize-device-name): Do not attempt to resolve CIFS formatted device specifications. (mount-file-systems): Add mount-cifs nested function. * gnu/machine/ssh.scm (machine-check-file-system-availability): Skip checking for CIFS availability, similar to NFS. * guix/scripts/system.scm (check-file-system-availability): Likewise. Change-Id: I182e290eba64bbe5d1332815eb93bb68c01e0c3c Signed-off-by: Ludovic Courtès <ludo@gnu.org> Richard Sent 2024-06-04file-systems: Add host-to-ip nested function...* gnu/build/file-systems (mount-file-system): Split out getaddrinfo logic into a dedicated function, (host-to-ip) Change-Id: I522d70a10651ca79533a4fc60b96b884243a3526 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Richard Sent 2024-05-29gnu: linux-libre: Enable Zstd compression of kernel modules....This brings the on disk size of the kernel from 164 MiB to 144 MiB, or about 12%. * gnu/packages/linux.scm (default-extra-linux-options) [version>=5.13]: Enable CONFIG_MODULE_COMPRESS_ZSTD, else CONFIG_MODULE_COMPRESS_GZIP. (make-linux-libre*) [phases] {set-environment}: Set ZSTD_CLEVEL environment variable to 19. [native-inputs]: Add zstd. * gnu/build/linux-modules.scm (module-regex): Add .zst to regexp. Update doc. (modinfo-section-contents): Extend support to Zstd compressed module. (dot-ko): Register the 'zstd compression type. (ensure-dot-ko, file-name->module-name, load-linux-module*) (module-name->file-name/guess, write-module-name-database) (write-module-alias-database, write-module-device-database): Update doc. (module-name-lookup): Also consider zstd-compressed modules. * gnu/installer.scm (installer-program): Add guile-zstd extension to gexp. * gnu/system/linux-initrd.scm (flat-linux-module-directory): Likewise. Decompress zstd-compressed modules for use in initrd. * guix/profiles.scm (linux-module-database): Add guile-zstd extension to gexp. Change-Id: Ide899dc5c58ea5033583b1a91a92c025fc8d901a Maxim Cournoyer 2024-03-27linux-modules: Ignore nonexistent module files on boot....This is a follow-up to 8f8ec56052766aa5105d672b77ad9eaca5c1ab3c, which only covers building initrd, while the booting code still tries to load nonexistent files for builtin modules. * gnu/build/linux-modules.scm (load-linux-modules-from-directory): Ignore nonexistent module files. Change-Id: I09ef207e82397e915e671c8464b92bcf90f03dcf Hilton Chain 2024-02-19services: activation: Ensure /run existence....* gnu/build/activation.scm (activation-script): Ensure /var/run existence. * gnu/build/install.scm (evaluate-populate-directive) [directives]: Remove directory /run. Change-Id: I19ca8e7605c0cff598ab89077a94e20390ba27b0 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Nicolas Graves 2024-02-19services: activation: Ensure /var/run existence....* gnu/services.scm (activation-script): Ensure /var/run existence. * gnu/build/install.scm (evaluate-populate-directive) [directives]: Remove directory /var/run. Change-Id: I5fb93d33b6b1f045f1e5ba206b9b0b74b5184260 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Nicolas Graves 2024-02-19file-systems: Recognize “none” as a valid device spec....* gnu/build/file-systems (canonicalize-device-name): Fallback to tmpfs if spec is "none". Change-Id: Ia55c715d04c7611ba8c979f23f1ad4a8ed2e75b6 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Nicolas Graves 2024-02-10marionette: Add #:peek? to ‘wait-for-tcp-port?’....* gnu/build/marionette.scm (wait-for-tcp-port): Add #:peek? parameter and honor it. Change-Id: Ie7515a5223299390ab8af6fe5aa3cf63ba5c8078 Ludovic Courtès 2024-02-10services: secret-service: Make the endpoint configurable....Until now, the secret service had a hard-coded TCP endpoint on port 1004. This change lets users specify arbitrary socket addresses. * gnu/build/secret-service.scm (socket-address->string): New procedure, taken from Shepherd. (secret-service-send-secrets): Replace ‘port’ by ‘address’ and adjust accordingly. (secret-service-receive-secrets): Likewise. * gnu/services/virtualization.scm (secret-service-shepherd-services): Likewise. (secret-service-operating-system): Add optional ‘address’ parameter and honor it. Adjust ‘start’ method accordingly. Change-Id: I87a9514f1c170dca756ce76083d7182c6ebf6578 Ludovic Courtès 2023-12-27chromium-extension: Compute json at argument evaluation time....* gnu/build/chromium-extension.scm (make-chromium-extension): Make use of the make-signing-key procedure inside the argument field, making sure that it is not evaluated at file-load time. This would otherwise try to resolve gnutls when we can't guarantee it's defined because of dependency cycles. Change-Id: Ia7b13acfbca475c2df073e9a88fc8bb9264dd968 Josselin Poiret 2023-12-22shepherd: Remove ‘make-forkexec-constructor/container’....This was superseded by ‘least-authority-wrapper’. * gnu/build/shepherd.scm (read-pid-file/container) (make-forkexec-constructor/container): Remove. Change-Id: I6acccdff2609a35807608f865a4d381146113a88 Ludovic Courtès 2023-12-11gnu: cross-toolchain: Add set-cross-path for AVR....* gnu/build/cross-toolchain.scm (set-cross-path/avr): New procedure. (cross-gcc-build-phases) [string-prefix? "avr"]: Return set-cross-path/avr procedure. Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech> Change-Id: I00bd39236ac2e31fef02164a7fffc8b56a166f0d Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Jean-Pierre De Jesus DIAZ 2023-12-11gnu: cross-gcc: Enable multilib for AVR....* gnu/build/cross-toolchain.scm (patch-multilib-shebang): New procedure. * gnu/packages/avr.scm (make-avr-gcc): Remove uneeded phases and flags for multilib. * gnu/packages/cross-base (cross-gcc-arguments) <#:configure-flags> [target-avr?]: Remove --disable-multilib and add --enable-multilib. Change-Id: Id68d803057ac898f0a670f10487b08bf0891ab0b Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Jean-Pierre De Jesus DIAZ 2023-12-10gnu: ‘make-icecat-extension’ inherits package location....This is an improvement for the purposes of ‘guix edit’ & co. * gnu/build/icecat-extension.scm (make-icecat-extension): Add ‘location’ field. Change-Id: I896ae6823b3fe4ea013fa74e2c536f45664d8042 Ludovic Courtès 2023-11-19linux-boot: Don't create /root before it's used....* gnu/build/linux-boot.scm (boot-system): Postpone the MKDIR of /root. Change-Id: I589316a5ddf41cada02173ed4dd5b7df09b795e8 Tobias Geerinckx-Rice 2023-10-23gnu: icecat: Support Guix packaged extensions and native manifests....* gnu/build/icecat-extension.scm: New file with a MAKE-ICECAT-EXTENSION procedure that makes sure the add-on directory is a symlink, so that Icecat can normalize it into a package store path. * gnu/local.mk (dist_patch_DATA): Register it, as well as new patches. * gnu/packages/browser-extensions.scm (ublock-origin)[properties]: Store the add-on ID so that it is accessible in MAKE-ICECAT-EXTENSION. [arguments]: Use the add-on ID as root directory. (ublock-origin/icecat): New procedure. * gnu/packages/gnuzilla.scm (icecat-minimal)[arguments]: Rewrite the unused 'apply-guix-specific-patches' phase so that it applies the following two patches. [native-search-paths]: New field. * gnu/packages/patches/icecat-compare-paths.patch: New patch that compares add-on paths (which are package store paths) to detect package changes. * gnu/packages/patches/icecat-use-system-wide-dir.patch: New patch that replaces "/usr/lib/mozilla" (the system-wide directory for extensions and native manifests) with "$ICECAT_SYSTEM_DIR". Clément Lassieur 2023-10-15linux-modules: Fix module dependency loading....* gnu/build/linux-modules.scm (dot-ko): Make COMPRESSION optional, as expected by callers RECURSIVE-MODULE-DEPENDENCIES and LOAD-LINUX-MODULE*. Tobias Geerinckx-Rice 2023-10-12accounts: Fix typo in comment....* gnu/build/accounts.scm (passwd->shadow): Fix typo in comment. Ludovic Courtès 2023-10-08accounts: Ensure ‘last-change’ field of shadow entries is never zero....* gnu/build/accounts.scm (passwd->shadow): Add ‘max’ call so NOW is greater than or equal to 1. Ludovic Courtès 2023-10-01secret-service: Increase default handshake timeout....* gnu/build/secret-service.scm (secret-service-send-secrets): Increase #:handshake-timeout. Ludovic Courtès 2023-10-01hurd-boot: Setup/dev/hdX, /dev/hdXsY IDE device node translators....The gnumach builtin IDE hd devices are still used, unless booting with "noide". * gnu/build/hurd-boot.scm (set-hurd-device-translators): Create /dev/hd{0..3}, /dev/hd{0..3}s{0..3}. Janneke Nieuwenhuizen