Commit | Line | Data |
---|---|---|
06504acb LC |
1 | -*- org -*- |
2 | #+TITLE: Guix NEWS – history of user-visible changes | |
3 | #+STARTUP: content hidestars | |
4056b828 LC |
4 | |
5 | Copyright © 2013 Ludovic Courtès <ludo@gnu.org> | |
6 | ||
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. | |
10 | ||
11 | Please send Guix bug reports to bug-guix@gnu.org. | |
12 | ||
85f3a05e | 13 | |
d1495831 LC |
14 | * Changes in 0.3 (since 0.2) |
15 | ||
16 | ** Package management | |
17 | *** New ‘--max-silent-time’ option for “guix build” and “guix package” | |
18 | ||
19 | See the manual for details. | |
20 | ||
21 | ** Bugs fixed | |
22 | *** “guix --help” now works when using Guile 2.0.5 | |
23 | *** Binary substituter multi-threading and pipe issues fixed | |
24 | ||
25 | These could lead to random substituter crashes while substituting a binary. | |
26 | See commits 0332386 and 101d9f3 for details. | |
27 | ||
85f3a05e LC |
28 | * Changes in 0.2 (since 0.1) |
29 | ||
4056b828 LC |
30 | ** Package management |
31 | ||
32 | *** Guix commands are now sub-commands of the “guix” program | |
33 | ||
34 | Instead of typing “guix-package”, one now has to type “guix package”, and so | |
35 | on. This has allowed us to homogenize the user interface and initial program | |
36 | setup, and to allow commands to be upgradable through “guix pull”. | |
37 | ||
06504acb LC |
38 | *** New “guix package --upgrade” option |
39 | ||
40 | As the name implies, this option atomically upgrades all the packages | |
e3729544 LC |
41 | installed in a profile or the set of packages matching a given regexp. |
42 | See “Invoking guix package” in the manual. | |
06504acb | 43 | |
0f241da2 LC |
44 | *** New “guix package --search” option |
45 | ||
46 | Performs a full text search in package synopses and descriptions, and returns | |
47 | the matching packages in recutils format. See “Invoking guix package” in the | |
48 | manual, for details. | |
49 | ||
4056b828 LC |
50 | *** New “guix pull” command |
51 | ||
52 | The command pulls the latest version of Guix–both the package management | |
53 | modules and the distribution. See the manual for details. | |
54 | ||
55 | *** New binary substituter | |
56 | ||
57 | The “substituter” mechanism allows pre-built binaries to be transparently | |
58 | downloaded instead of performing a build locally. Currently binaries are | |
0f241da2 LC |
59 | available for x86_64 Linux-based GNU systems from http://hydra.gnu.org. The |
60 | distribution is continuously built and binaries are made available from there. | |
61 | ||
62 | See http://hydra.gnu.org/jobset/gnu/master under “Job status” for the list of | |
63 | available binary packages. | |
4056b828 LC |
64 | |
65 | *** New “guix refresh” command | |
66 | ||
67 | The command is used by Guix maintainers. It automatically updates the | |
68 | distribution to the latest upstream releases of GNU software. | |
69 | ||
70 | *** New “guix hash” command | |
71 | ||
72 | Convenience command to compute the hash of a file. See the manual for | |
73 | details. | |
74 | ||
0f241da2 | 75 | *** Nix daemon code updated |
4056b828 | 76 | |
0f241da2 LC |
77 | The daemon code from Nix, used by the ‘guix-daemon’ command, has been updated |
78 | to current Nix ‘master’. | |
4056b828 LC |
79 | |
80 | ** Programming interfaces | |
81 | ||
0f241da2 LC |
82 | *** (guix download) now supports HTTPS, using GnuTLS |
83 | ||
84 | It allows package source tarballs to be retrieved over HTTPS. | |
85 | ||
4056b828 LC |
86 | *** New ‘native-search-path’ and ‘search-path’ package fields |
87 | ||
88 | Packages can define in their ‘native-search-path’ field environment variables | |
89 | that define search paths and need to be set for proper functioning of the | |
90 | package. For instance, GCC has ‘CPATH’ and ‘LIBRARY_PATH’ in its | |
91 | ‘native-search-path’, Perl has ‘PERL5LIB’, Python has ‘PYTHONPATH’, etc. | |
92 | These environment variables are automatically set when building a package that | |
93 | uses one of these. | |
94 | ||
95 | *** Package inputs can be a function of the target system type | |
96 | ||
97 | The ‘inputs’ field of a package can now be conditional on the value of | |
98 | (%current-system). This is useful for packages that take system-dependent | |
99 | tarballs as inputs, such as GNU/MIT Scheme. | |
100 | ||
101 | *** New build systems | |
102 | ||
103 | The ‘perl-build-system’, ‘python-build-system’, and ‘cmake-build-system’ have | |
104 | been added. They implement the standard build systems for Perl, Python, and | |
105 | CMake packages. | |
106 | ||
47d18810 LC |
107 | *** Tools to build Linux initrds, QEMU images, and more |
108 | ||
109 | The (gnu packages linux-initrd) module provides a procedure to build a Linux | |
110 | initrd (“initial RAM disk”). The initrd embeds Guile, which is used to | |
111 | evaluate the given expression. The example below returns an initrd that | |
112 | mounts the /proc file system and starts a REPL: | |
113 | ||
114 | (expression->initrd | |
115 | '(begin | |
116 | (mkdir "/proc") | |
117 | (mount "none" "/proc" "proc") | |
118 | ((@ (system repl repl) start-repl)))) | |
119 | ||
120 | More examples in the linux-initrd.scm file. | |
121 | ||
122 | Experimental interfaces to produce and use QEMU images are provided by the | |
123 | (gnu system vm) module. For instance, the | |
124 | ‘expression->derivation-in-linux-vm’ evaluates the given Scheme expression in | |
125 | a QEMU virtual machine running the Linux kernel and Guile. | |
126 | ||
4056b828 LC |
127 | ** GNU distribution |
128 | ||
129 | Many updates and additions have been made to the distribution. Here are the | |
130 | highlights. | |
131 | ||
132 | *** Major updates | |
133 | ||
134 | GCC 4.7.3 (the default) and GCC 4.8.0, Binutils 2.23.2, Guile 2.0.9, | |
135 | Coreutils 8.20, GDB 7.6, Texinfo 5.1. | |
136 | ||
137 | *** Noteworthy new packages | |
138 | ||
0f241da2 LC |
139 | TeXLive, Xorg, GNU GRUB, GNU Parted, QEMU and QEMU-KVM, Avahi, Bigloo, |
140 | CHICKEN, Scheme48, Hugs, Python, Lua, Samba. |