2013-05-08 10:08:25 -04:00
|
|
|
|
-*- org -*-
|
|
|
|
|
#+TITLE: Guix NEWS – history of user-visible changes
|
|
|
|
|
#+STARTUP: content hidestars
|
2013-04-27 11:10:41 -04:00
|
|
|
|
|
|
|
|
|
Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
|
|
|
|
|
|
|
|
|
Copying and distribution of this file, with or without modification,
|
|
|
|
|
are permitted in any medium without royalty provided the copyright
|
|
|
|
|
notice and this notice are preserved.
|
|
|
|
|
|
|
|
|
|
Please send Guix bug reports to bug-guix@gnu.org.
|
|
|
|
|
|
2013-01-20 16:51:34 -05:00
|
|
|
|
|
|
|
|
|
* Changes in 0.2 (since 0.1)
|
|
|
|
|
|
2013-04-27 11:10:41 -04:00
|
|
|
|
** Package management
|
|
|
|
|
|
|
|
|
|
*** Guix commands are now sub-commands of the “guix” program
|
|
|
|
|
|
|
|
|
|
Instead of typing “guix-package”, one now has to type “guix package”, and so
|
|
|
|
|
on. This has allowed us to homogenize the user interface and initial program
|
|
|
|
|
setup, and to allow commands to be upgradable through “guix pull”.
|
|
|
|
|
|
2013-05-08 10:08:25 -04:00
|
|
|
|
*** New “guix package --upgrade” option
|
|
|
|
|
|
|
|
|
|
As the name implies, this option atomically upgrades all the packages
|
2013-05-10 17:05:00 -04:00
|
|
|
|
installed in a profile or the set of packages matching a given regexp.
|
|
|
|
|
See “Invoking guix package” in the manual.
|
2013-05-08 10:08:25 -04:00
|
|
|
|
|
2013-04-27 11:10:41 -04:00
|
|
|
|
*** New “guix pull” command
|
|
|
|
|
|
|
|
|
|
The command pulls the latest version of Guix–both the package management
|
|
|
|
|
modules and the distribution. See the manual for details.
|
|
|
|
|
|
|
|
|
|
*** New binary substituter
|
|
|
|
|
|
|
|
|
|
The “substituter” mechanism allows pre-built binaries to be transparently
|
|
|
|
|
downloaded instead of performing a build locally. Currently binaries are
|
|
|
|
|
available for x86_64 Linux-based GNU systems from http://hydra.gnu.org. See
|
|
|
|
|
the manual for details.
|
|
|
|
|
|
|
|
|
|
*** New “guix refresh” command
|
|
|
|
|
|
|
|
|
|
The command is used by Guix maintainers. It automatically updates the
|
|
|
|
|
distribution to the latest upstream releases of GNU software.
|
|
|
|
|
|
|
|
|
|
*** New “guix hash” command
|
|
|
|
|
|
|
|
|
|
Convenience command to compute the hash of a file. See the manual for
|
|
|
|
|
details.
|
|
|
|
|
|
|
|
|
|
*** (guix download) now supports HTTPS, using GnuTLS
|
|
|
|
|
|
|
|
|
|
It allows package source tarballs to be retrieved over HTTPS.
|
|
|
|
|
|
|
|
|
|
** Programming interfaces
|
|
|
|
|
|
|
|
|
|
*** New ‘native-search-path’ and ‘search-path’ package fields
|
|
|
|
|
|
|
|
|
|
Packages can define in their ‘native-search-path’ field environment variables
|
|
|
|
|
that define search paths and need to be set for proper functioning of the
|
|
|
|
|
package. For instance, GCC has ‘CPATH’ and ‘LIBRARY_PATH’ in its
|
|
|
|
|
‘native-search-path’, Perl has ‘PERL5LIB’, Python has ‘PYTHONPATH’, etc.
|
|
|
|
|
These environment variables are automatically set when building a package that
|
|
|
|
|
uses one of these.
|
|
|
|
|
|
|
|
|
|
*** Package inputs can be a function of the target system type
|
|
|
|
|
|
|
|
|
|
The ‘inputs’ field of a package can now be conditional on the value of
|
|
|
|
|
(%current-system). This is useful for packages that take system-dependent
|
|
|
|
|
tarballs as inputs, such as GNU/MIT Scheme.
|
|
|
|
|
|
|
|
|
|
*** New build systems
|
|
|
|
|
|
|
|
|
|
The ‘perl-build-system’, ‘python-build-system’, and ‘cmake-build-system’ have
|
|
|
|
|
been added. They implement the standard build systems for Perl, Python, and
|
|
|
|
|
CMake packages.
|
|
|
|
|
|
2013-05-11 16:50:01 -04:00
|
|
|
|
*** Tools to build Linux initrds, QEMU images, and more
|
|
|
|
|
|
|
|
|
|
The (gnu packages linux-initrd) module provides a procedure to build a Linux
|
|
|
|
|
initrd (“initial RAM disk”). The initrd embeds Guile, which is used to
|
|
|
|
|
evaluate the given expression. The example below returns an initrd that
|
|
|
|
|
mounts the /proc file system and starts a REPL:
|
|
|
|
|
|
|
|
|
|
(expression->initrd
|
|
|
|
|
'(begin
|
|
|
|
|
(mkdir "/proc")
|
|
|
|
|
(mount "none" "/proc" "proc")
|
|
|
|
|
((@ (system repl repl) start-repl))))
|
|
|
|
|
|
|
|
|
|
More examples in the linux-initrd.scm file.
|
|
|
|
|
|
|
|
|
|
Experimental interfaces to produce and use QEMU images are provided by the
|
|
|
|
|
(gnu system vm) module. For instance, the
|
|
|
|
|
‘expression->derivation-in-linux-vm’ evaluates the given Scheme expression in
|
|
|
|
|
a QEMU virtual machine running the Linux kernel and Guile.
|
|
|
|
|
|
2013-04-27 11:10:41 -04:00
|
|
|
|
** GNU distribution
|
|
|
|
|
|
|
|
|
|
Many updates and additions have been made to the distribution. Here are the
|
|
|
|
|
highlights.
|
|
|
|
|
|
|
|
|
|
*** Major updates
|
|
|
|
|
|
|
|
|
|
GCC 4.7.3 (the default) and GCC 4.8.0, Binutils 2.23.2, Guile 2.0.9,
|
|
|
|
|
Coreutils 8.20, GDB 7.6, Texinfo 5.1.
|
|
|
|
|
|
|
|
|
|
*** Noteworthy new packages
|
|
|
|
|
|
2013-05-11 16:50:01 -04:00
|
|
|
|
TeXLive, Xorg, GNU Parted, QEMU and QEMU-KVM, Avahi, Bigloo, CHICKEN,
|
|
|
|
|
Scheme48, Hugs, Python, Lua, Samba.
|