[Top][All Lists]

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

GNU Guix 0.4 released

From: Ludovic Courtès
Subject: GNU Guix 0.4 released
Date: Fri, 27 Sep 2013 16:17:42 +0200
User-agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux)

We are pleased to celebrate GNU’s 30th anniversary with the release of
GNU Guix version 0.4, representing 300 commits by 5 people over 2

This release comes with a QEMU virtual machine image that demonstrates
preliminary work toward building a stand-alone GNU system with Guix.
The image uses the GNU Linux-Libre kernel and the GNU dmd init system.
It is console-only, and may be used primarily to try out Guix.

• About

  GNU Guix is a functional package manager and distribution of
  the GNU system.

  In addition to standard package management features, Guix supports
  transactional upgrades and roll-backs, unprivileged package
  management, per-user profiles, and garbage collection.  Guix uses
  low-level mechanisms from the Nix package manager, with Guile Scheme
  programming interfaces.

  At this stage Guix can be used on top of an i686 or x86_64 GNU/Linux
  system, or in a virtual machine.  Future versions will stand alone.

• Download

  Here are the compressed sources and QEMU virtual machine image, along
  with GPG detached signatures[*]:

  Use a mirror for higher download bandwidth:

  Here are the MD5 and SHA1 checksums:

  263c0b05ac3978c98eab46ce1cd197bb  guix-0.4.tar.gz
  cbe4740523d5a9a4e11bac031ea4e1c4145f6b11  guix-0.4.tar.gz

  d48c22847ea9d7f3fb6b268ebb3aa020  gnu-system-demo-0.4.img.gz
  23472f17d94fc8e7f18fce28b6736668aa85859c  gnu-system-demo-0.4.img.gz

  [*] 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-0.4.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 --recv-keys EA52ECF4

  and rerun the 'gpg --verify' command.

  This release was bootstrapped with the following tools:
    Autoconf 2.69
    Automake 1.14
    Makeinfo 5.1

  Guix users can upgrade by running “guix pull”.

  To use the virtual machine image, run QEMU like this:

    qemu-system-x86_64 -m 256 -net nic,model=e1000 -net user \

  This enables networking support, which is useful when using Guix
  inside of it.

• Changes since version 0.3 (excerpt from the NEWS file)

  ** Package management

  *** New ‘--list-generations’ and ‘--delete-generations’ options

  The ‘guix package’ command has these two new options, which make it easier to
  deal with a profile’s generation.  See “Invoking guix package” in the manual.

  *** New ‘guix-register’ program

  This program allows the meta-data of a new store to be initialized, by
  copying info from an existing store.  It is mostly an internal tool.

  ** Programming interfaces

  *** New API to bootstrap Autotools-based packages

  The (guix build-system gnu) has a new ‘dist-package’ procedure that takes a
  package object and source directory, and returns a new package object that
  runs ‘./bootstrap && make dist’ or anything similar.

  *** ‘derivation’ and related procedures have a #:references-graphs parameter

  This parameter instructs the build daemon to populate the derivation’s build
  tree with files containing the list of references of the given store files.
  This is useful to write code that copies a packages and all its dependencies
  to another storage device, such as a QEMU disk image.

  *** Extended API to build a GNU system virtual machine image

  The (gnu system vm) module has been augmented in many ways: the ‘qemu-image’
  procedure can now populate and initialize the image’s store; the new
  ‘system-qemu-image’ procedure returns a QEMU image that runs dmd as its init
  system, has ‘login’ running on several consoles, has a set of installed
  packages, and where Guix can be used.

  New (gnu system …) modules have been added to handle the configuration of the
  various parts of a GNU/Linux system.  For instance, (gnu system dmd) provides
  support for instantiating dmd services; (gnu system linux) helps with Linux
  PAM configuration; and so on.

  *** <derivation> objects supersede .drv file names in the API

  ‘derivation’ and similar procedures no longer return two values (a
  <derivation> and a .drv file name); they now return a single value, which is
  a <derivation> object.  The <derivation> object embeds the corresponding .drv
  file name.  See “Derivations” in the manual for details.

  ** GNU distribution

  *** 60 new packages

  apr, apr-util, cdparanoia, dbus-glib, dfc, dmd, dvdisaster, exiv2, fetchmail,
  freefont-ttf, freeglut, geeqie, git, gkrellm, glu, gnome-doc-utils,
  gst-plugins-base, gstreamer, guile-cairo, guile-lib, guile-xcb, guix, htop,
  itstool, lame, libextractor, libmicrohttpd, lightning, lzip, mingetty, mutt,
  net-base, net-tools, ocrad, pspp, python-babel, python-dateutil, python-pytz,
  python-setuptools, python-simplejson, python-wrapper, python2-babel,
  python2-dateutil, python2-mechanize, python2-pyicu, python2-pysqlite,
  python2-pytz, python2-setuptools, python2-simplejson, qemu-system-initrd,
  qemu-with-multiple-smb-shares, ripperx, shadow, ttf-bitstream-vera, units,
  valgrind, xmlto, xnee, yasm

  *** 27 package updates

  bigloo 4.0b, cairo 1.12.16, ddrescue 1.17, fontconfig 2.10.93, fplll 4.0.4,
  gcc 4.7.3, gcc 4.7.3, glibc 2.18, glibc 2.18, glibc-stripped-tarball 2.18,
  gnupg 2.0.21, gnutls 3.2.4, guile 2.0.9, guile 2.0.9, harfbuzz 0.9.21,
  imagemagick 6.8.6-9, libdrm 2.4.46, libgcrypt 1.5.3, libjpeg 9, libksba 1.3.0,
  linux-libre 3.11, m4 1.4.17, mpfrcx 0.4.2, pari-gp 2.5.4, python 2.7.5, python
  3.3.2, texlive 2013

  *** Fontconfig font search path made more convenient

  Fontconfig, the library used by many graphical applications, such as those
  based on GTK+, now knows where to find the default set of fonts.  Additional
  fonts installed in the user profile are automatically picked up.

  *** More GUI applications

  The ‘emacs’ and ‘racket’ packages are now linked against GTK+.  New GTK+
  applications have been added (see above.)

  *** Packaging guidelines

  The documentation of packaging guidelines has been augmented.  See the manual
  under “GNU Distribution”.

  *** Support for Python 3 along with Python 2

  Python 3 has been added to the distribution, and Python packages that support
  it are now built for both Python 2 and Python 3.  See the “Python Modules”
  section of the manual for details.

  ** Internationalization

  Updated translations: eo.

  ** Bugs fixed

  *** Workarounds for Guile 2.0.5 now work on Debian derivatives
  *** The dependency graph image has correct size in PDF output
  *** 'ldd' now works correctly on x86_64
  *** Xorg server test suite no longer fails (
  *** module-init-tools now builds (,
  *** Hop 2.4 builds with newer Bigloo (

Please report bugs to address@hidden
Join address@hidden for discussions.

Join the #guix channel of the Freenode IRC network on Sep. 28 and 29
for a celebration hackathon.

Happy birthday, GNU!

Ludovic, on behalf of the Guix team.

Attachment: pgpFcZFYLxLVb.pgp
Description: PGP signature

reply via email to

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