2 #+TITLE: Guix NEWS – history of user-visible changes
3 #+STARTUP: content hidestars
5 Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
7 Copying and distribution of this file, with or without modification,
8 are permitted in any medium without royalty provided the copyright
9 notice and this notice are preserved.
11 Please send Guix bug reports to bug-guix@gnu.org.
14 * Changes in 0.2 (since 0.1)
18 *** Guix commands are now sub-commands of the “guix” program
20 Instead of typing “guix-package”, one now has to type “guix package”, and so
21 on. This has allowed us to homogenize the user interface and initial program
22 setup, and to allow commands to be upgradable through “guix pull”.
24 *** New “guix package --upgrade” option
26 As the name implies, this option atomically upgrades all the packages
27 installed in a profile or the set of packages matching a given regexp.
28 See “Invoking guix package” in the manual.
30 *** New “guix package --search” option
32 Performs a full text search in package synopses and descriptions, and returns
33 the matching packages in recutils format. See “Invoking guix package” in the
36 *** New “guix pull” command
38 The command pulls the latest version of Guix–both the package management
39 modules and the distribution. See the manual for details.
41 *** New binary substituter
43 The “substituter” mechanism allows pre-built binaries to be transparently
44 downloaded instead of performing a build locally. Currently binaries are
45 available for x86_64 Linux-based GNU systems from http://hydra.gnu.org. The
46 distribution is continuously built and binaries are made available from there.
48 See http://hydra.gnu.org/jobset/gnu/master under “Job status” for the list of
49 available binary packages.
51 *** New “guix refresh” command
53 The command is used by Guix maintainers. It automatically updates the
54 distribution to the latest upstream releases of GNU software.
56 *** New “guix hash” command
58 Convenience command to compute the hash of a file. See the manual for
61 *** Nix daemon code updated
63 The daemon code from Nix, used by the ‘guix-daemon’ command, has been updated
64 to current Nix ‘master’.
66 ** Programming interfaces
68 *** (guix download) now supports HTTPS, using GnuTLS
70 It allows package source tarballs to be retrieved over HTTPS.
72 *** New ‘native-search-path’ and ‘search-path’ package fields
74 Packages can define in their ‘native-search-path’ field environment variables
75 that define search paths and need to be set for proper functioning of the
76 package. For instance, GCC has ‘CPATH’ and ‘LIBRARY_PATH’ in its
77 ‘native-search-path’, Perl has ‘PERL5LIB’, Python has ‘PYTHONPATH’, etc.
78 These environment variables are automatically set when building a package that
81 *** Package inputs can be a function of the target system type
83 The ‘inputs’ field of a package can now be conditional on the value of
84 (%current-system). This is useful for packages that take system-dependent
85 tarballs as inputs, such as GNU/MIT Scheme.
89 The ‘perl-build-system’, ‘python-build-system’, and ‘cmake-build-system’ have
90 been added. They implement the standard build systems for Perl, Python, and
93 *** Tools to build Linux initrds, QEMU images, and more
95 The (gnu packages linux-initrd) module provides a procedure to build a Linux
96 initrd (“initial RAM disk”). The initrd embeds Guile, which is used to
97 evaluate the given expression. The example below returns an initrd that
98 mounts the /proc file system and starts a REPL:
103 (mount "none" "/proc" "proc")
104 ((@ (system repl repl) start-repl))))
106 More examples in the linux-initrd.scm file.
108 Experimental interfaces to produce and use QEMU images are provided by the
109 (gnu system vm) module. For instance, the
110 ‘expression->derivation-in-linux-vm’ evaluates the given Scheme expression in
111 a QEMU virtual machine running the Linux kernel and Guile.
115 Many updates and additions have been made to the distribution. Here are the
120 GCC 4.7.3 (the default) and GCC 4.8.0, Binutils 2.23.2, Guile 2.0.9,
121 Coreutils 8.20, GDB 7.6, Texinfo 5.1.
123 *** Noteworthy new packages
125 TeXLive, Xorg, GNU GRUB, GNU Parted, QEMU and QEMU-KVM, Avahi, Bigloo,
126 CHICKEN, Scheme48, Hugs, Python, Lua, Samba.