info-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNU Guix 1.4.0 released


From: Ludovic Courtès
Subject: GNU Guix 1.4.0 released
Date: Mon, 19 Dec 2022 15:25:40 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

We are pleased to announce the release of GNU Guix 1.4.0!

This release corresponds to more than 28,000 commits over 18 months by
453 people.  It adds new tools such as ‘guix shell’ for environment
management and ‘guix home’, which lets you declare your home
environment.  It refines the user and packager experience and improves
performance.  This release also includes many new packages and services
along bug fixes—see below for a list of changes.

Read more about today’s announcement at:

  https://guix.gnu.org/en/blog/2022/gnu-guix-1.4.0-released/


• About

  GNU Guix is a transactional package manager and an advanced
  distribution of the GNU system that respects user freedom.  Guix can
  be used on top of any system running the Hurd or the Linux kernel, or
  it can be used as a standalone operating system distribution for i686,
  x86_64, ARMv7, AArch64, and POWER9 machines.

  In addition to standard package management features, Guix supports
  transactional upgrades and roll-backs, unprivileged package
  management, per-user profiles, and garbage collection.  When used as a
  standalone GNU/Linux distribution, Guix offers a declarative,
  stateless approach to operating system configuration management.  Guix
  is highly customizable and hackable through Guile programming
  interfaces and extensions to the Scheme language.

  https://guix.gnu.org


• Download

  Here are the compressed sources and a GPG detached signature[*]:
    https://ftp.gnu.org/gnu/guix/guix-1.4.0.tar.gz   (39MB)
    https://ftp.gnu.org/gnu/guix/guix-1.4.0.tar.gz.sig

  Here are the bootable USB installation images and their signatures[*]:
    https://ftp.gnu.org/gnu/guix/guix-system-install-1.4.0.i686-linux.iso   
(778MB)
    https://ftp.gnu.org/gnu/guix/guix-system-install-1.4.0.i686-linux.iso.sig
    https://ftp.gnu.org/gnu/guix/guix-system-install-1.4.0.x86_64-linux.iso   
(814MB)
    https://ftp.gnu.org/gnu/guix/guix-system-install-1.4.0.x86_64-linux.iso.sig

  Here is the QCOW2 virtual machine (VM) image and its signature[*]:
    https://ftp.gnu.org/gnu/guix/guix-system-vm-image-1.4.0.x86_64-linux.qcow2 
(1.2GB)
    
https://ftp.gnu.org/gnu/guix/guix-system-vm-image-1.4.0.x86_64-linux.qcow2.sig

  Here are the binary tarballs and their signatures[*]:
    https://ftp.gnu.org/gnu/guix/guix-binary-1.4.0.aarch64-linux.tar.xz   (94MB)
    https://ftp.gnu.org/gnu/guix/guix-binary-1.4.0.aarch64-linux.tar.xz.sig
    https://ftp.gnu.org/gnu/guix/guix-binary-1.4.0.armhf-linux.tar.xz   (92MB)
    https://ftp.gnu.org/gnu/guix/guix-binary-1.4.0.armhf-linux.tar.xz.sig
    https://ftp.gnu.org/gnu/guix/guix-binary-1.4.0.i686-linux.tar.xz   (98MB)
    https://ftp.gnu.org/gnu/guix/guix-binary-1.4.0.i686-linux.tar.xz.sig
    https://ftp.gnu.org/gnu/guix/guix-binary-1.4.0.powerpc64le-linux.tar.xz   
(98MB)
    https://ftp.gnu.org/gnu/guix/guix-binary-1.4.0.powerpc64le-linux.tar.xz.sig
    https://ftp.gnu.org/gnu/guix/guix-binary-1.4.0.x86_64-linux.tar.xz   (98MB)
    https://ftp.gnu.org/gnu/guix/guix-binary-1.4.0.x86_64-linux.tar.xz.sig

  Use a mirror for higher download bandwidth:
    https://www.gnu.org/order/ftp.html

  Here are the SHA256 hashes:

  43c769cbf632ef05449ac1fa48c1ba152c33494c6abc7e47137bba7b2149f8a4  
guix-1.4.0.tar.gz
  72d807392889919940b7ec9632c45a259555e6b0942ea7bfd131101e08ebfcf4  
guix-binary-1.4.0.aarch64-linux.tar.xz
  162c114ffcd5d331ec4c2974fcdca09e601e0e62950925a1d839584a7c720130  
guix-binary-1.4.0.armhf-linux.tar.xz
  1e6124e917288097ef94eebd175bf1bc73f5be67a20e98fec7d33368050fd02d  
guix-binary-1.4.0.i686-linux.tar.xz
  a0c54a0af8b0ae3097bfd33ddf408503a5df2d98b0848a83bb7e8da5c8d1a7fa  
guix-binary-1.4.0.powerpc64le-linux.tar.xz
  236ca7c9c5958b1f396c2924fcc5bc9d6fdebcb1b4cf3c7c6d46d4bf660ed9c9  
guix-binary-1.4.0.x86_64-linux.tar.xz
  07a5484d5c8f11294fabe0d32b422bdfd966ed9d8faf396cbedd0b6e3c39c740  
guix-system-install-1.4.0.i686-linux.iso
  087a97dba2319477185471a28812949cc165e60e58863403e4a606c1baa05f81  
guix-system-install-1.4.0.x86_64-linux.iso
  905dbdf0d32490eda66c4afdba98a80d0c3e50358b1a868423771af0a8561cae  
guix-system-vm-image-1.4.0.x86_64-linux.qcow2

  [*] Use a .sig file to verify that the corresponding file (without the
  .sig suffix) is intact.  First, be sure to download both the .sig file
  and the corresponding tarball.  Then, run a command like this:

    gpg --verify guix-1.4.0.tar.gz.sig

  If that command fails because you don't have the required public key,
  then run this command to import it:

    gpg --keyserver keys.openpgp.org \
        --recv-keys 3CE464558A84FDC69DB40CFB090B11993D9AEBB5

  and rerun the ‘gpg --verify’ command.


• Changes in 1.4.0 (since 1.3.0)

  ** Package management
  *** New ‘guix home’ command, for home environment management
  *** New ‘guix shell’ command, the successor to ‘guix environment’
  *** New ‘guix system edit’ command, to edit services
  *** New ‘deb’ format for the ‘guix pack’ command
  *** New ‘guix import minetest’ command, to import Minetest extensions
  *** New ‘guix import elm’ command, to import Elm packages
  *** New ‘guix import egg’ command, to import CHICKEN egg packages
  *** New ‘guix import hexpm’ command, to import Erlang and Elixir packages
  *** New 'guix style' command, to auto-format package definitions
  *** ‘guix import texlive’ rewritten to use the TLPDB as its source
  *** ‘guix import elpa’ now supports the non-GNU ELPA repository
  *** ‘guix import pypi’ can now import a specific version
  *** ‘guix import cran’ can now import a specific version
  *** New updater (see ‘guix refresh’): ‘generic-git’
  *** ‘guix graph’ has a new ‘--max-depth’ option
  *** ‘guix deploy’ has a new ‘--execute’ option
  *** ‘guix shell’ has a new ‘--emulate-fhs’ option
  *** ‘guix shell’ has a new ‘--symlink’ option
  *** ‘--with-commit’ option now accepts strings returned by ‘git describe’
  *** ‘--with-source’ option now applied recursively
  *** Align tabular data output by commands like ‘guix package --list-available’
  *** Improved ‘guix import go’ importer via a new PEG parser
  *** Improved Software Heritage downloader
  *** New 'web.archive.org’ download fall-back
  *** Various performance enhancements
  *** New ‘--tune’ package transformation option
  *** ‘guix refresh’ ‘-L’ option is repurposed to ‘load-path’ modification
  *** ‘guix system image’ supersedes the ‘docker-image’ sub-command

  ** Distribution
  *** The installation script can now enable local substitute servers discovery
  *** The installation script can now customize the Bash prompt for Guix
  *** More control over boot-time file system checks and repairs
  *** XFS file systems can be created by the installer and mounted by label/UUID
  *** New interface for declaring swap space
  *** GNOME is now at version 42
  *** TeX Live is now at version 2021
  *** Multiple TeX Live trees can now be used via GUIX_TEXMF
  *** Python modules are searched in GUIX_PYTHONPATH instead of PYTHONPATH
  *** Python is now faster thanks to being built with optimizations
  *** The Rust bootstrap now starts from 1.54 instead of 1.19
  *** Most Python 2 packages have been removed
  *** Guix now makes use of parallel xz compression
  *** Faster shared libraries discovery via a per-package dynamic linker cache
  *** Package inputs can now be plain package lists
  *** A package origin can now be a single file rather than an archive
  *** New sanity-check phase to detect Python packaging problems at build time
  *** Fetching sources can now fall-back to use Disarchive
  *** Improved CI and infrastructure
  *** Multiple cross-compilation tooling addition and fixes
  *** Many Qt 6 modules are now packaged
  *** Configuring setuid programs is now more flexible
  *** Add support for the XFS file system
  *** Add partial support for LUKS2 headers when using GRUB
  *** GDM now supports Wayland
  *** Guix System static networking support is improved
  *** The installer final configuration is prettified
  *** The installer external command handling is improved
  *** The installer now has a crash dump upload mechanism
  *** Emacs now supports native compilation
  *** GRUB bootloader now supports chain-loading
  *** The GNU Shepherd was upgraded to 0.9.3
  *** The init RAM disk honors more arguments—e.g. ‘root’ and ‘rootflags’
  *** ‘guix system image’ can now generate WSL images
  *** The mcron task scheduler logs now contain the jobs exit statuses
  *** Chromium extensions are now built in a deterministic fashion
  *** The ‘rsync’ service lets you specify individual “modules”
  *** New services

  anonip, bitmask, fail2ban, gitile, greetd, jami, lightdm, log-cleanup,
  nar-herder, opendht, rasdaemon, samba, seatd, strongswan, wsdd

  *** 5311 new packages

  *** 6573 package updates

  Noteworthy updates:
  bash 5.1.8, binutils 2.37, clojure 1.11.1, cups 2.3.3op2, emacs 28.2,
  enlightenment 0.25.4, gcc-toolchain 12.2.0, gdb 12.1, ghc 8.10.7,
  gimp 2.10.32, glibc 2.33, gnome 42.4, gnupg 2.2.32, go 1.19.1, guile 3.0.8,
  icecat 102.5.0-guix0-preview1, icedtea 3.19.0, inkscape 1.2.1, julia 1.6.7,
  libreoffice 7.4.3.2, linux-libre 6.0.10, ocaml 4.14.0, octave 7.2.0,
  openjdk 18, perl 5.34.0, python2 2.7.18, python 3.9.9, racket 8.7,
  rust 1.60.0, r 4.2.2, sbcl 2.2.10, shepherd 0.9.3, xorg-server 21.1.4

  ** Programming interfaces
  *** Package input fields can now be plain package lists
  *** G-expressions can now be used in build phases
  *** New ‘modify-inputs’ macro to ease customizing a list of package inputs
  *** New ‘this-package-input’ and ‘this-package-native-input’ macros
  *** Build phases are no longer required to return a boolean
  *** (guix records) now supports “field sanitizers”
  *** Various improvements to the helpers in (gnu service configuration)
  *** ‘texlive-union’ is now deprecated in favor of ‘texlive-updmap.cfg’
  *** New (guix cpu) module
  *** New (guix least-authority) module
  *** New (guix platform) module
  *** New (guix read-print) module

  It provides a comment-preserving reader and a comment-preserving
  pretty-printer smarter than (ice-9 pretty-print).

  *** New ‘channel-build-system’

  This build system lets you build Guix instances from channel specifications,
  similar to how 'guix time-machine' would do it, as regular packages.

  *** New ‘pyproject-build-system’

  This is an extension of ‘python-build-system’ with support for PEP-517 and
  ‘pyproject.toml’ files.  It may eventually get merged back into
  ‘python-build-system’.

  *** New ‘elm-build-system’
  *** New ‘rebar-build-system’

  ** Noteworthy bug fixes
  *** Fall back to Software Heritage when cloning a channel
      (<https://issues.guix.gnu.org/44187>)
  *** ‘--with-patch’ can be used on packages with non-origin sources
      (<https://issues.guix.gnu.org/49697>)
  *** Fix pathological profile building performance in the presence of grafts
      (<https://issues.guix.gnu.org/49439>)
  *** Deduplication phase of the garbage collector is now faster
      (<https://issues.guix.gnu.org/24937>)
  *** File system flags are validated before system instantiation
      (<https://issues.guix.gnu.org/51425>)
  *** Fonts can now be discovered in any profile via XDG_DATA_DIRS
      (<https://issues.guix.gnu.org/31403>)
  *** Various Python reproducibility fixes
  *** The installer now supports MSDOS disk labels on UEFI systems
      (<https://issues.guix.gnu.org/47889>)
  *** The installer can now properly mount FAT16 partitions
      (<https://issues.guix.gnu.org/48419>)
  *** The installer no longer crashes when deleting a free space partition
  *** Emacs handles major upgrades better without a re-login
      (<https://issues.guix.gnu.org/47458>)
  *** The bootloader configuration now accepts multiple targets
      (<https://issues.guix.gnu.org/40997>)
  *** File system mount point is always created when ‘create?’ is true
      (<https://issues.guix.gnu.org/40158>)
  *** Build the man database only if ‘man-db’ is in the profile
  *** gdk-pixbuf now discovers pixbuf loaders via a search path
      (<https://issues.guix.gnu.org/50957>)
  *** Gitolite home directory permissions are fixed
      (https://issues.guix.gnu.org/56444)
  *** The man-db database is indexed via man pages names
      (https://issues.guix.gnu.org/38838)
  *** ‘chfn’ can now change the user's full name
      (https://issues.guix.gnu.org/52539)
  *** GNOME Settings Bluetooth panel is now working
      (https://issues.guix.gnu.org/32166)
  *** Inferiors are now caching store connections
      (https://issues.guix.gnu.org/48007)
  *** Retry downloads when a substitute has become unavailable
      (https://issues.guix.gnu.org/57978)
  *** The installer doesn't segfault when removing an extended partition
  *** The installer doesn't ship an older Guix revision
      (https://issues.guix.gnu.org/53210)
  *** The installer cannot proceed without any non-root user accounts
      (https://issues.guix.gnu.org/54666)
  *** <operating-system> compiler truly honors the 'system' argument
      (https://issues.guix.gnu.org/55951)


Please report bugs to bug-guix@gnu.org
Join guix-devel@gnu.org and #guix on Libera.Chat for discussions.

Thanks to everyone who contributed to this release!

Ludovic, on behalf of the Guix team.

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]