package: Store the output path of packages installed with `-e'.
[jackhill/guix/guix.git] / NEWS
CommitLineData
06504acb
LC
1 -*- org -*-
2#+TITLE: Guix NEWS – history of user-visible changes
3#+STARTUP: content hidestars
4056b828
LC
4
5Copyright © 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
11Please send Guix bug reports to bug-guix@gnu.org.
12
85f3a05e
LC
13
14* Changes in 0.2 (since 0.1)
15
4056b828
LC
16** Package management
17
18*** Guix commands are now sub-commands of the “guix” program
19
20Instead of typing “guix-package”, one now has to type “guix package”, and so
21on. This has allowed us to homogenize the user interface and initial program
22setup, and to allow commands to be upgradable through “guix pull”.
23
06504acb
LC
24*** New “guix package --upgrade” option
25
26As the name implies, this option atomically upgrades all the packages
27installed in a profile. See “Invoking guix package” in the manual.
28
4056b828
LC
29*** New “guix pull” command
30
31The command pulls the latest version of Guix–both the package management
32modules and the distribution. See the manual for details.
33
34*** New binary substituter
35
36The “substituter” mechanism allows pre-built binaries to be transparently
37downloaded instead of performing a build locally. Currently binaries are
38available for x86_64 Linux-based GNU systems from http://hydra.gnu.org. See
39the manual for details.
40
41*** New “guix refresh” command
42
43The command is used by Guix maintainers. It automatically updates the
44distribution to the latest upstream releases of GNU software.
45
46*** New “guix hash” command
47
48Convenience command to compute the hash of a file. See the manual for
49details.
50
51*** (guix download) now supports HTTPS, using GnuTLS
52
53It allows package source tarballs to be retrieved over HTTPS.
54
55** Programming interfaces
56
57*** New ‘native-search-path’ and ‘search-path’ package fields
58
59Packages can define in their ‘native-search-path’ field environment variables
60that define search paths and need to be set for proper functioning of the
61package. For instance, GCC has ‘CPATH’ and ‘LIBRARY_PATH’ in its
62‘native-search-path’, Perl has ‘PERL5LIB’, Python has ‘PYTHONPATH’, etc.
63These environment variables are automatically set when building a package that
64uses one of these.
65
66*** Package inputs can be a function of the target system type
67
68The ‘inputs’ field of a package can now be conditional on the value of
69(%current-system). This is useful for packages that take system-dependent
70tarballs as inputs, such as GNU/MIT Scheme.
71
72*** New build systems
73
74The ‘perl-build-system’, ‘python-build-system’, and ‘cmake-build-system’ have
75been added. They implement the standard build systems for Perl, Python, and
76CMake packages.
77
78** GNU distribution
79
80Many updates and additions have been made to the distribution. Here are the
81highlights.
82
83*** Major updates
84
85GCC 4.7.3 (the default) and GCC 4.8.0, Binutils 2.23.2, Guile 2.0.9,
86Coreutils 8.20, GDB 7.6, Texinfo 5.1.
87
88*** Noteworthy new packages
89
06504acb 90TeXLive, Xorg, GNU Parted, QEMU and QEMU-KVM, Avahi, Hugs, Python, Lua, Samba.